diff options
Diffstat (limited to 'gcc/ada/misc.c')
-rw-r--r-- | gcc/ada/misc.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/gcc/ada/misc.c b/gcc/ada/misc.c index 748621a1..c6fb0d9 100644 --- a/gcc/ada/misc.c +++ b/gcc/ada/misc.c @@ -127,6 +127,8 @@ static tree gnat_type_max_size (tree); #define LANG_HOOKS_GETDECLS lhd_return_null_tree_v #undef LANG_HOOKS_PUSHDECL #define LANG_HOOKS_PUSHDECL lhd_return_tree +#undef LANG_HOOKS_WRITE_GLOBALS +#define LANG_HOOKS_WRITE_GLOBALS gnat_write_global_declarations #undef LANG_HOOKS_FINISH_INCOMPLETE_DECL #define LANG_HOOKS_FINISH_INCOMPLETE_DECL gnat_finish_incomplete_decl #undef LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS @@ -233,23 +235,22 @@ gnat_parse_file (int set_yydebug ATTRIBUTE_UNUSED) { int seh[2]; - /* call the target specific initializations */ + /* Call the target specific initializations. */ __gnat_initialize (NULL); - /* ??? call the SEH initialization routine, this is to workaround a - bootstrap path problem. The call below should be removed at some point and - the seh pointer passed to __gnat_initialize() above. */ - + /* ??? Call the SEH initialization routine. This is to workaround + a bootstrap path problem. The call below should be removed at some + point and the SEH pointer passed to __gnat_initialize() above. */ __gnat_install_SEH_handler((void *)seh); - /* Call the front-end elaboration procedures */ + /* Call the front-end elaboration procedures. */ adainit (); - /* Call the front end */ + /* Call the front end. */ _ada_gnat1drv (); + /* We always have a single compilation unit in Ada. */ cgraph_finalize_compilation_unit (); - cgraph_optimize (); } /* Decode all the language specific options that cannot be decoded by GCC. @@ -365,6 +366,9 @@ gnat_post_options (const char **pfilename ATTRIBUTE_UNUSED) if (flag_inline_functions) flag_inline_trees = 2; + /* The structural alias analysis machinery essentially assumes that + everything is addressable (modulo bit-fields) by disregarding + the TYPE_NONALIASED_COMPONENT and DECL_NONADDRESSABLE_P macros. */ flag_tree_salias = 0; return false; @@ -771,7 +775,7 @@ gnat_type_max_size (tree gnu_type) && TYPE_ADA_SIZE (gnu_type)) { tree max_adasize = max_size (TYPE_ADA_SIZE (gnu_type), true); - + /* If we have succeded in finding a constant, round it up to the type's alignment and return the result in byte units. */ |