flags.h (flag_short_enums): Update comment.
authorPaul Brook <paul@codesourcery.com>
Tue, 11 May 2004 16:23:44 +0000 (16:23 +0000)
committerPaul Brook <pbrook@gcc.gnu.org>
Tue, 11 May 2004 16:23:44 +0000 (16:23 +0000)
* 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
gcc/flags.h
gcc/opts.c
gcc/toplev.c

index 2eaecd09ecba10c99bfa64298cbedfb3d5dc7300..6a84fb677eb54885bd0618f4dc000a84b86975b9 100644 (file)
@@ -1,3 +1,10 @@
+2004-05-11  Paul Brook  <paul@codesourcery.com>
+
+       * 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  <pinskia@gcc.gnu.org>
 
        PR target/14063
index b4fc10d7f9037fdcdb9f1b7926226ca8a1091123..458b2e9432f3400179f8860b3c8beef78da8ed4a 100644 (file)
@@ -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;
 
index b0ede80e610c2c3f22e6ea69385598fe09bc1962..4cf4446fdb57524f7e60e8fc0b77fa4f271c72e8 100644 (file)
@@ -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.  */
index d96543d0d15621dd57cd108499a86ccfa618bced..046501846f20a68916ec1688759488c1662319a4 100644 (file)
@@ -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)
     ;