aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/gcc-interface/trans.c4
-rw-r--r--gcc/ada/gcc-interface/utils.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index 07e5a28..bf8289b 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -970,6 +970,10 @@ lvalue_for_aggregate_p (Node_Id gnat_node, tree gnu_type)
/* Even if the parameter is by copy, prefer an lvalue. */
return true;
+ case N_Simple_Return_Statement:
+ /* Likewise for a return value. */
+ return true;
+
case N_Indexed_Component:
case N_Selected_Component:
/* If an elementary component is used, take it from the constant. */
diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c
index 1d49db9..494f60e 100644
--- a/gcc/ada/gcc-interface/utils.c
+++ b/gcc/ada/gcc-interface/utils.c
@@ -5903,7 +5903,7 @@ gnat_write_global_declarations (void)
struct varpool_node *node;
char *label;
- ASM_FORMAT_PRIVATE_NAME (label, first_global_object_name, 0);
+ ASM_FORMAT_PRIVATE_NAME (label, first_global_object_name, ULONG_MAX);
dummy_global
= build_decl (BUILTINS_LOCATION, VAR_DECL, get_identifier (label),
void_type_node);