aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/inline.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2017-01-20 11:42:43 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2017-01-20 11:42:43 +0100
commit89a53f83d8494256c90b0658be00bc9cff38bf3b (patch)
treecd459f53f3d47fd7f4ee23cc375baae5158d98ad /gcc/ada/inline.adb
parent4f324de225b3f282bece2f27344ee2767bac81d1 (diff)
downloadgcc-89a53f83d8494256c90b0658be00bc9cff38bf3b.zip
gcc-89a53f83d8494256c90b0658be00bc9cff38bf3b.tar.gz
gcc-89a53f83d8494256c90b0658be00bc9cff38bf3b.tar.bz2
[multiple changes]
2017-01-20 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Access_Type_Declaration): Protect access to the Entity attribute. * sem_ch10.adb (Install_Siblings): Skip processing malformed trees. * sem_cat.adb (Validate_Categoriztion_Dependency): Skip processing malformed trees. 2017-01-20 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specification, case Dynamic_Predicate): If the entity E is a subtype that inherits a static predicate for its parent P,, the inherited and the new predicate combine in the generated predicate function, and E only has a dynamic predicate. 2017-01-20 Tristan Gingold <gingold@adacore.com> * s-boustr.ads, s-boustr.adb: New package. * Makefile.rtl: Add s-boustr. 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> * inline.adb (Process_Formals): Qualify the expression of a return statement when it yields a universal type. 2017-01-20 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb (Freeze_All): Freeze the default expressions of all eligible formal parameters that appear in entries, entry families, and protected subprograms. From-SVN: r244701
Diffstat (limited to 'gcc/ada/inline.adb')
-rw-r--r--gcc/ada/inline.adb11
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/ada/inline.adb b/gcc/ada/inline.adb
index 3b79bc3..049ebd8 100644
--- a/gcc/ada/inline.adb
+++ b/gcc/ada/inline.adb
@@ -2483,13 +2483,12 @@ package body Inline is
-- errors, e.g. when the expression is a numeric literal and
-- the context is private. If the expression is an aggregate,
-- use a qualified expression, because an aggregate is not a
- -- legal argument of a conversion. Ditto for numeric literals,
- -- which must be resolved to a specific type.
+ -- legal argument of a conversion. Ditto for numeric literals
+ -- and attributes that yield a universal type, because those
+ -- must be resolved to a specific type.
- if Nkind_In (Expression (N), N_Aggregate,
- N_Null,
- N_Real_Literal,
- N_Integer_Literal)
+ if Nkind_In (Expression (N), N_Aggregate, N_Null)
+ or else Yields_Universal_Type (Expression (N))
then
Ret :=
Make_Qualified_Expression (Sloc (N),