aboutsummaryrefslogtreecommitdiff
path: root/gcc/target-def.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2006-12-07 10:54:13 +0000
committerNick Clifton <nickc@gcc.gnu.org>2006-12-07 10:54:13 +0000
commite0d9d0ddb643a4e9372e3bb1104ce299a200df45 (patch)
tree46d6178c94554a22a20fe838a94fbf98cec94d4d /gcc/target-def.h
parent1d49ee6a7985f8eb2a759a3d22fb3c8fec92a403 (diff)
downloadgcc-e0d9d0ddb643a4e9372e3bb1104ce299a200df45.zip
gcc-e0d9d0ddb643a4e9372e3bb1104ce299a200df45.tar.gz
gcc-e0d9d0ddb643a4e9372e3bb1104ce299a200df45.tar.bz2
common.opt (record-gcc-switches): New command line switch.
* common.opt (record-gcc-switches): New command line switch. * target.h (print_switch_type): New enum. (print_switch_fn_type): New typedef for a function pointer. (struct gcc_target): Add record_gcc_switches and record_gcc_switches_section fields. * target-def.h (TARGET_ASM_RECORD_GCC_SWITCHES): Provide a default definition. (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Provide a default definition. * toplev.c (print_single_switch): Simplify by providing a pointer to function that will format and output the switch appropriately. (print_switch_values): Likewise. (print_to_asm_out_file): New function. (print_to_stderr): New function. (init_asm_output): If flag_record_gcc_switches is set then if the target supports recording the switches then emit them into the assembler output file, otherwise tell the user that the switch is not supported. * varasm.c (eld_record_gcc_switches): New function. Example handler for the record_gcc_switches target hook. * doc/tm.texi (TARGET_ASM_RECORD_GCC_SWITCHES): Document the new target hook. (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Likewise. * doc/invoke.texi (-frecord-gcc-switches): Document. From-SVN: r119615
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r--gcc/target-def.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h
index 580c327..8cb5d26 100644
--- a/gcc/target-def.h
+++ b/gcc/target-def.h
@@ -227,6 +227,13 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#define TARGET_ASM_OUTPUT_DWARF_DTPREL NULL
#endif
+#ifndef TARGET_ASM_RECORD_GCC_SWITCHES
+#define TARGET_ASM_RECORD_GCC_SWITCHES NULL
+#endif
+#ifndef TARGET_ASM_RECORD_GCC_SWITCHES_SECTION
+#define TARGET_ASM_RECORD_GCC_SWITCHES_SECTION ".GCC.command.line"
+#endif
+
#define TARGET_ASM_ALIGNED_INT_OP \
{TARGET_ASM_ALIGNED_HI_OP, \
TARGET_ASM_ALIGNED_SI_OP, \
@@ -270,6 +277,8 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
TARGET_ASM_FILE_END, \
TARGET_ASM_EXTERNAL_LIBCALL, \
TARGET_ASM_MARK_DECL_PRESERVED, \
+ TARGET_ASM_RECORD_GCC_SWITCHES, \
+ TARGET_ASM_RECORD_GCC_SWITCHES_SECTION, \
TARGET_ASM_OUTPUT_ANCHOR, \
TARGET_ASM_OUTPUT_DWARF_DTPREL}