aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/exp_attr.adb5
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 5d58a2c..82e808b 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+2019-07-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb (Expand_Attribute_Reference, case Invalid_Value):
+ Resolve result of call to Get_Simple_Init_Val, which may be a
+ conversion of a literal.
+
2019-07-01 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Expression): Remove the horrible useless
diff --git a/gcc/ada/exp_attr.adb b/gcc/ada/exp_attr.adb
index 22368a1..cbf7db3 100644
--- a/gcc/ada/exp_attr.adb
+++ b/gcc/ada/exp_attr.adb
@@ -4242,6 +4242,11 @@ package body Exp_Attr is
when Attribute_Invalid_Value =>
Rewrite (N, Get_Simple_Init_Val (Ptyp, N));
+ -- The value produced may be a conversion of a literal, which
+ -- must be resolved to establish its proper type.
+
+ Analyze_And_Resolve (N);
+
----------
-- Last --
----------