From 3277074642a8201218f4f8efbd9c6a02815a29c0 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Tue, 11 May 2004 16:23:44 +0000 Subject: [PATCH] flags.h (flag_short_enums): Update comment. * flags.h (flag_short_enums): Update comment. * opts.c (decode_options): Set flag_short_enums to 2. * toplev.c (flag_short_enums): Update comment. (process_options): Call default_short_enums target hook. From-SVN: r81704 --- gcc/ChangeLog | 7 +++++++ gcc/flags.h | 3 ++- gcc/opts.c | 5 +++-- gcc/toplev.c | 6 +++++- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2eaecd09ecba..6a84fb677eb5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-05-11 Paul Brook + + * flags.h (flag_short_enums): Update comment. + * opts.c (decode_options): Set flag_short_enums to 2. + * toplev.c (flag_short_enums): Update comment. + (process_options): Call default_short_enums target hook. + 2004-05-11 Andrew Pinski PR target/14063 diff --git a/gcc/flags.h b/gcc/flags.h index b4fc10d7f903..458b2e9432f3 100644 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -244,7 +244,8 @@ extern int flag_print_asm_name; extern int flag_signed_char; -/* Nonzero means give an enum type only as many bytes as it needs. */ +/* Nonzero means give an enum type only as many bytes as it needs. A value + of 2 means it has not yet been initialized. */ extern int flag_short_enums; diff --git a/gcc/opts.c b/gcc/opts.c index b0ede80e610c..4cf4446fdb57 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -604,8 +604,9 @@ decode_options (unsigned int argc, const char **argv) /* Initialize whether `char' is signed. */ flag_signed_char = DEFAULT_SIGNED_CHAR; - /* Initialize how much space enums occupy, by default. */ - flag_short_enums = targetm.default_short_enums (); + /* Set this to a special "uninitialized" value. The actual default is set + after target options have been processed. */ + flag_short_enums = 2; /* Initialize target_flags before OPTIMIZATION_OPTIONS so the latter can modify it. */ diff --git a/gcc/toplev.c b/gcc/toplev.c index d96543d0d156..046501846f20 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -314,7 +314,8 @@ unsigned local_tick; int flag_signed_char; -/* Nonzero means give an enum type only as many bytes as it needs. */ +/* Nonzero means give an enum type only as many bytes as it needs. A value + of 2 means it has not yet been initialized. */ int flag_short_enums; @@ -2232,6 +2233,9 @@ process_options (void) OVERRIDE_OPTIONS; #endif + if (flag_short_enums == 2) + flag_short_enums = targetm.default_short_enums (); + /* Set aux_base_name if not already set. */ if (aux_base_name) ;