diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2008-03-08 12:44:51 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2008-03-08 12:44:51 +0000 |
commit | 7934d78179a91cf3f2c03ce6c6b2c014ac61fdab (patch) | |
tree | 2c606bc53dbf5581ce09df47cf3fcfa90384d62b /gcc/ada/utils.c | |
parent | 904e4b8d32159b43f5edba2f4723fa2782925d0a (diff) | |
download | gcc-7934d78179a91cf3f2c03ce6c6b2c014ac61fdab.zip gcc-7934d78179a91cf3f2c03ce6c6b2c014ac61fdab.tar.gz gcc-7934d78179a91cf3f2c03ce6c6b2c014ac61fdab.tar.bz2 |
lang.opt (nostdlib): Move around.
* lang.opt (nostdlib): Move around.
* misc.c (gnat_handle_option): Fix formatting.
(gnat_dwarf_name): Move around.
* trans.c (Case_Statement_to_gnu): Fix formatting.
(gnat_to_gnu): Likewise.
* utils.c (aggregate_type_contains_array_p): Likewise.
(create_subprog_decl): Likewise.
From-SVN: r133035
Diffstat (limited to 'gcc/ada/utils.c')
-rw-r--r-- | gcc/ada/utils.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/gcc/ada/utils.c b/gcc/ada/utils.c index f1ffa4f..58f0b68 100644 --- a/gcc/ada/utils.c +++ b/gcc/ada/utils.c @@ -1554,7 +1554,7 @@ aggregate_type_contains_array_p (tree type) case ARRAY_TYPE: return true; - + default: gcc_unreachable (); } @@ -1932,18 +1932,18 @@ create_subprog_decl (tree subprog_name, tree asm_name, DECL_ARTIFICIAL (DECL_RESULT (subprog_decl)) = 1; DECL_IGNORED_P (DECL_RESULT (subprog_decl)) = 1; - /* TREE_ADDRESSABLE is set on the result type to request the use of the - target by-reference return mechanism. This is not supported all the - way down to RTL expansion with GCC 4, which ICEs on temporary creation - attempts with such a type and expects DECL_BY_REFERENCE to be set on - the RESULT_DECL instead - see gnat_genericize for more details. */ - if (TREE_ADDRESSABLE (TREE_TYPE (DECL_RESULT (subprog_decl)))) - { - tree result_decl = DECL_RESULT (subprog_decl); - - TREE_ADDRESSABLE (TREE_TYPE (result_decl)) = 0; - DECL_BY_REFERENCE (result_decl) = 1; - } + /* TREE_ADDRESSABLE is set on the result type to request the use of the + target by-reference return mechanism. This is not supported all the + way down to RTL expansion with GCC 4, which ICEs on temporary creation + attempts with such a type and expects DECL_BY_REFERENCE to be set on + the RESULT_DECL instead - see gnat_genericize for more details. */ + if (TREE_ADDRESSABLE (TREE_TYPE (DECL_RESULT (subprog_decl)))) + { + tree result_decl = DECL_RESULT (subprog_decl); + + TREE_ADDRESSABLE (TREE_TYPE (result_decl)) = 0; + DECL_BY_REFERENCE (result_decl) = 1; + } if (inline_flag) DECL_DECLARED_INLINE_P (subprog_decl) = 1; |