mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-08 18:34:00 +00:00
For picreg, this is only the first half of the change; it deletes code
that generates references to this grade component. When this diff has been
installed on all our machines, will come the second half, which will delete
the code that understands references to picreg. The delay is needed because
your current installed compiler is still generating such references.
runtime/mercury_grade.h:
Remove both regparm and picreg as grade components.
doc/user_guide.texi:
Remove the (commented out) documentation of picreg; regparm had
no documentation to delete.
runtime/mercury_std.h:
Remove the small bit of code that implemented regparm.
runtime/mercury_conf_param.h:
Don't define MR_PIC_REG.
runtime/machdeps/i386_regs.h:
runtime/mercury_conf_bootstrap.h:
Remove references to picreg.
scripts/canonical_grade.sh-subr:
scripts/init_grade_options.sh-subr:
scripts/mgnuc.in:
scripts/parse_grade_options.sh-subr:
Keep in place the code that accepts picreg grade components,
but make them do nothing. Mark such do-nothing code so that
it can be deleted when this first-half diff has been bootstrapped.
configure.ac:
Delete the autoconfigured variable EXT_FOR_LINK_WITH_PIC_OBJECTS,
which could be set to either 'lpic_o' or just 'o', because it is now
*always* the latter.
scripts/Mercury.config.bootstrap.in:
scripts/Mercury.config.in:
Remove code that transmitted the value of EXT_FOR_LINK_WITH_PIC_OBJECTS
to the compiler via the --link-with-pic-object-file-extension option.
compiler/options.m:
Keep the --link-with-pic-object-file-extension and --pic-reg options,
but mark them for deletion in the second half of this change.
compiler/compile_target_code.m:
Change the code that dealt with the value of the
--link-with-pic-object-file-extension and --pic-reg options to assume
that the former is always the same as the non-pic file extension,
and that --pic-reg is never needed. The former means that we don't need
to handle link_with_pic as a separate category of object files from
just plain non_pic.
compiler/compute_grade.m:
Keep accepting picreg grades, but mark the code that does this
for deletion.
compiler/make.program_target.m:
compiler/make.module_target.m:
compiler/make.program_target.m:
compiler/make.util.m:
Conform to the changes above.
106 lines
2.9 KiB
Plaintext
106 lines
2.9 KiB
Plaintext
#---------------------------------------------------------------------------#
|
|
# Copyright (C) 1997-2007, 2010 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.
|
|
#---------------------------------------------------------------------------#
|
|
#
|
|
# init_grade_options.sh-subr:
|
|
# An `sh' subroutine for initializing grade-related options.
|
|
# Used by the `ml', `mgnuc' and `c2init' scripts.
|
|
#
|
|
# The code here should be inserted before a script's option-parsing
|
|
# loop. The invoking script must define a DEFAULT_GRADE option.
|
|
#
|
|
# IMPORTANT: any changes to the handling of grades here may also require
|
|
# changes to all the files indicated by runtime/mercury_grade.h.
|
|
#
|
|
# This file must initialize all the shell variables used by
|
|
# parse_grade_options.sh-subr, and must list all the options processed in
|
|
# parse_grade_options.sh-subr.
|
|
#
|
|
#---------------------------------------------------------------------------#
|
|
|
|
grade_usage="\
|
|
Grade options:
|
|
-s <grade>, --grade <grade>
|
|
--target {il, c, csharp, java, erlang}
|
|
--il
|
|
--asm-labels
|
|
--gcc-non-local-gotos
|
|
--gcc-global-registers
|
|
-H, --high-level-code
|
|
--parallel
|
|
--gc {boehm, boehm_debug, hgc, accurate, none}
|
|
-p, --profiling
|
|
--profile-calls
|
|
--profile-time
|
|
--profile-memory
|
|
--profile-deep
|
|
--record-term-sizes-as-words
|
|
--record-term-sizes-as-cells
|
|
--use-trail
|
|
--use-trail-segments
|
|
--reserve-tag
|
|
--use-minimal-model-stack-copy
|
|
--use-minimal-model-own-stacks
|
|
--minimal-model-debug
|
|
--single-prec-float
|
|
--pic-reg
|
|
--no-stack-trace
|
|
--debug
|
|
--decl-debug
|
|
--ss-debug
|
|
--low-level-debug
|
|
--extend-stacks-when-needed
|
|
--stack-segments
|
|
--use-regions
|
|
See the documentation in the \"Invocation\" section
|
|
of the Mercury User's Guide."
|
|
|
|
# --gcc-nested-functions is not yet documented because it is not yet stable
|
|
# --high-level-data is not yet documented because it is not yet implemented
|
|
# --high-level is not yet documented because --high-level-data is
|
|
# not yet implemented
|
|
# --use-regions-debug and --use-regions-profiling are not yet documented
|
|
# since they are not yet stable
|
|
|
|
target=c
|
|
highlevel_code=false
|
|
highlevel_data=false
|
|
gcc_nested_functions=false
|
|
asm_labels=true
|
|
non_local_gotos=true
|
|
global_regs=true
|
|
thread_safe=false
|
|
threadscope=false
|
|
gc_method=boehm
|
|
profile_time=false
|
|
profile_calls=false
|
|
profile_memory=false
|
|
profile_deep=false
|
|
record_term_sizes_as_words=false
|
|
record_term_sizes_as_cells=false
|
|
use_trail=false
|
|
trail_segments=false
|
|
use_minimal_model_stack_copy=false
|
|
use_minimal_model_own_stacks=false
|
|
minimal_model_debug=false
|
|
pregenerated_dist=false
|
|
single_prec_float=false
|
|
debug=false
|
|
decl_debug=false
|
|
ss_debug=false
|
|
ll_debug=false
|
|
extend_stacks=false
|
|
stack_segments=false
|
|
use_regions=false
|
|
use_regions_debug=false
|
|
use_regions_profiling=false
|
|
|
|
case $# in
|
|
0) set - --grade "$DEFAULT_GRADE" ;;
|
|
*) set - --grade "$DEFAULT_GRADE" "$@" ;;
|
|
esac
|
|
|
|
#---------------------------------------------------------------------------#
|