From 3d45791e77dfd1427aa552f43be3434b5213993e Mon Sep 17 00:00:00 2001 From: Fergus Henderson Date: Tue, 8 Feb 2000 15:32:36 +0000 Subject: [PATCH] Fix some bugs in the MLDS back-end support. Estimated hours taken: 0.75 Fix some bugs in the MLDS back-end support. scripts/parse_grade_options.sh-subr: Fix a bug: s/high_level/highlevel/g scripts/final_grade_options.sh-subr: Ensure that --high-level-code disables the use of the low-level gcc extensions, as is done in compiler/handle_options.m. --- scripts/final_grade_options.sh-subr | 12 ++++++- scripts/parse_grade_options.sh-subr | 54 ++++++++++++++--------------- 2 files changed, 38 insertions(+), 28 deletions(-) diff --git a/scripts/final_grade_options.sh-subr b/scripts/final_grade_options.sh-subr index a200dc9a4..2a6eba637 100644 --- a/scripts/final_grade_options.sh-subr +++ b/scripts/final_grade_options.sh-subr @@ -1,5 +1,5 @@ #---------------------------------------------------------------------------# -# Copyright (C) 1998-1999 The University of Melbourne. +# Copyright (C) 1998-2000 The University of Melbourne. # This file may only be copied under the terms of the GNU General # Public License - see the file COPYING in the Mercury distribution. #---------------------------------------------------------------------------# @@ -38,4 +38,14 @@ case $stack_trace,$require_tracing,$use_minimal_model in use_trail=true ;; esac +# +# --high-level-code disables the use of low-level gcc extensions +# +case $highlevel_code in true) + non_local_gotos=false + asm_labels=false + global_regs=false + ;; +esac + #---------------------------------------------------------------------------# diff --git a/scripts/parse_grade_options.sh-subr b/scripts/parse_grade_options.sh-subr index 7fedd4291..1916d1b84 100644 --- a/scripts/parse_grade_options.sh-subr +++ b/scripts/parse_grade_options.sh-subr @@ -1,5 +1,5 @@ #---------------------------------------------------------------------------# -# Copyright (C) 1997-1999 The University of Melbourne. +# Copyright (C) 1997-2000 The University of Melbourne. # This file may only be copied under the terms of the GNU General # Public License - see the file COPYING in the Mercury distribution. #---------------------------------------------------------------------------# @@ -20,14 +20,14 @@ #---------------------------------------------------------------------------# --high-level-code) - high_level_code=true ;; + highlevel_code=true ;; --no-high-level-code) - high_level_code=false ;; + highlevel_code=false ;; --high-level-data) - high_level_data=true ;; + highlevel_data=true ;; --no-high-level-data) - high_level_data=false ;; + highlevel_data=false ;; --gcc-nested-functions) gcc_nested_functions=true ;; @@ -148,9 +148,9 @@ # may also require changes to all the files indicated by # runtime/mercury_grade.h. - high_level_code=false + highlevel_code=false gcc_nested_functions=false - high_level_data=false + highlevel_data=false asm_labels=false non_local_gotos=false global_regs=false @@ -174,81 +174,81 @@ asm_labels=false non_local_gotos=false global_regs=false - high_level_code=true + highlevel_code=true gcc_nested_functions=false - high_level_data=true + highlevel_data=true ;; hlc) asm_labels=false non_local_gotos=false global_regs=false - high_level_code=true + highlevel_code=true gcc_nested_functions=false - high_level_data=false + highlevel_data=false ;; hl_nest) asm_labels=false non_local_gotos=false global_regs=false - high_level_code=true + highlevel_code=true gcc_nested_functions=true - high_level_data=true + highlevel_data=true ;; hlc_nest) asm_labels=false non_local_gotos=false global_regs=false - high_level_code=true + highlevel_code=true gcc_nested_functions=true - high_level_data=false + highlevel_data=false ;; asm_fast) asm_labels=true non_local_gotos=true global_regs=true - high_level_code=false + highlevel_code=false gcc_nested_functions=false - high_level_data=false + highlevel_data=false ;; asm_jump) asm_labels=true non_local_gotos=true global_regs=false - high_level_code=false + highlevel_code=false gcc_nested_functions=false - high_level_data=false + highlevel_data=false ;; fast) asm_labels=false non_local_gotos=true global_regs=true - high_level_code=false + highlevel_code=false gcc_nested_functions=false - high_level_data=false + highlevel_data=false ;; jump) asm_labels=false non_local_gotos=true global_regs=false - high_level_code=false + highlevel_code=false gcc_nested_functions=false - high_level_data=false + highlevel_data=false ;; reg) asm_labels=false non_local_gotos=false global_regs=true - high_level_code=false + highlevel_code=false gcc_nested_functions=false - high_level_data=false + highlevel_data=false ;; none) asm_labels=false non_local_gotos=false global_regs=false - high_level_code=false + highlevel_code=false gcc_nested_functions=false - high_level_data=false + highlevel_data=false ;; par)