From bff2d234281c10f137b8e2a2b9957c5675506eab Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Fri, 24 Jan 2014 14:48:48 +0000 Subject: [PATCH] misc.c (flag_short_enums): Declare. 2014-01-24 Tristan Gingold * gcc-interface/misc.c (flag_short_enums): Declare. (gnat_post_options): Set it. From-SVN: r207037 --- gcc/ada/ChangeLog | 2 ++ gcc/ada/gcc-interface/misc.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 351b9ed6bfa..c1b524456c0 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -26,6 +26,8 @@ 2014-01-24 Tristan Gingold * back_end.adb (Scan_Compiler_Arguments): Set Short_Enums_On_Target. + * gcc-interface/misc.c (flag_short_enums): Declare. + (gnat_post_options): Set it. 2014-01-24 Vincent Celier diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index fc74be28fb8..0272050954f 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -224,10 +224,12 @@ gnat_init_options (unsigned int decoded_options_count, #undef optimize #undef optimize_size #undef flag_compare_debug +#undef flag_short_enums #undef flag_stack_check int optimize; int optimize_size; int flag_compare_debug; +int flag_short_enums; enum stack_check_type flag_stack_check = NO_STACK_CHECK; /* Settings adjustments after switches processing by the back-end. @@ -258,6 +260,12 @@ gnat_post_options (const char **pfilename ATTRIBUTE_UNUSED) flag_compare_debug = global_options.x_flag_compare_debug; flag_stack_check = global_options.x_flag_stack_check; + /* Unfortunately the post_options hook is called before setting the + short_enums flag. Set it now. */ + if (global_options.x_flag_short_enums == 2) + global_options.x_flag_short_enums = targetm.default_short_enums (); + flag_short_enums = global_options.x_flag_short_enums; + return false; } -- 2.30.2