diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2005-03-18 12:47:18 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2005-03-18 12:47:18 +0100 |
commit | 7e1957a40d722beba8d9d002c7d15b01a18e7736 (patch) | |
tree | 65b5f248d06750565cc817641650223fd0f8922a /gcc/ada/misc.c | |
parent | e602394c38b7ad5053769e2ff03550fd5b5d412a (diff) | |
download | gcc-7e1957a40d722beba8d9d002c7d15b01a18e7736.zip gcc-7e1957a40d722beba8d9d002c7d15b01a18e7736.tar.gz gcc-7e1957a40d722beba8d9d002c7d15b01a18e7736.tar.bz2 |
ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
2005-03-17 Eric Botcazou <ebotcazou@adacore.com>
* ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
(DECL_RENAMED_OBJECT): New accessor macro.
(SET_DECL_RENAMED_OBJECT): New setter macro.
* decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
object in all cases. Attach the renamed object to the VAR_DECL.
(gnat_to_gnu_field): Do not lift the record wrapper if the size of the
field is not prescribed.
* misc.c (gnat_handle_option): Handle -gnatO separately.
(gnat_print_decl) <VAR_DECL>: New case.
Print the DECL_RENAMED_OBJECT node.
* lang.opt: Declare separate -gnatO option.
* trans.c (tree_transform) <N_Identifier>: If the object is a renaming
pointer, replace it with the renamed object.
<N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
pointer type if the source is not a fat pointer type whose underlying
array has the same non-zero alias set as that of the destination array.
From-SVN: r96660
Diffstat (limited to 'gcc/ada/misc.c')
-rw-r--r-- | gcc/ada/misc.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/gcc/ada/misc.c b/gcc/ada/misc.c index 4646c86..03b156c 100644 --- a/gcc/ada/misc.c +++ b/gcc/ada/misc.c @@ -259,7 +259,6 @@ gnat_handle_option (size_t scode, const char *arg, int value ATTRIBUTE_UNUSED) const struct cl_option *option = &cl_options[scode]; enum opt_code code = (enum opt_code) scode; char *q; - unsigned int i; if (arg == NULL && (option->flags & (CL_JOINED | CL_SEPARATE))) { @@ -314,17 +313,13 @@ gnat_handle_option (size_t scode, const char *arg, int value ATTRIBUTE_UNUSED) gnat_argv[gnat_argc][0] = '-'; strcpy (gnat_argv[gnat_argc] + 1, arg); gnat_argc++; + break; - if (arg[0] == 'O') - for (i = 1; i < save_argc - 1; i++) - if (!strncmp (save_argv[i], "-gnatO", 6)) - if (save_argv[++i][0] != '-') - { - /* Preserve output filename as GCC doesn't save it for GNAT. */ - gnat_argv[gnat_argc] = xstrdup (save_argv[i]); - gnat_argc++; - break; - } + case OPT_gnatO: + gnat_argv[gnat_argc] = xstrdup ("-O"); + gnat_argc++; + gnat_argv[gnat_argc] = xstrdup (arg); + gnat_argc++; break; } @@ -506,7 +501,12 @@ gnat_print_decl (FILE *file, tree node, int indent) break; case FIELD_DECL: - print_node (file, "original field", DECL_ORIGINAL_FIELD (node), + print_node (file, "original_field", DECL_ORIGINAL_FIELD (node), + indent + 4); + break; + + case VAR_DECL: + print_node (file, "renamed_object", DECL_RENAMED_OBJECT (node), indent + 4); break; |