+2015-01-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor error message change.
+
+2015-01-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Preelaborable_Initialization):
+ Following AI05-028, the pragam applies legally to any composite type.
+
2015-01-07 Arnaud Charlet <charlet@adacore.com>
* s-osinte-vxworks.adb, s-osinte-vxworks.ads
elsif Present (Expression (Discr)) then
Error_Msg_N
- ("(Ada 2005) access discriminants of nonlimited types",
- Expression (Discr));
- Error_Msg_N ("\cannot have defaults", Expression (Discr));
+ ("(Ada 2005) access discriminants of nonlimited types "
+ & "cannot have defaults", Expression (Discr));
end if;
end if;
end if;
then
null;
+ -- Check appropriate type argument
+
elsif Is_Private_Type (Ent)
or else Is_Protected_Type (Ent)
or else (Is_Generic_Type (Ent) and then Is_Derived_Type (Ent))
+
+ -- AI05-0028: The pragma applies to all composite types. Note
+ -- that we apply this binding intepretation to previous verions
+ -- of Ada so there is no Ada 2012 guard. Seems a reasonable
+ -- choice since there are other compilers that do the same.
+
+ or else Is_Composite_Type (Ent)
then
null;
else
Error_Pragma_Arg
- ("pragma % can only be applied to private, formal derived or "
- & "protected type",
- Arg1);
+ ("pragma % can only be applied to private, formal derived, "
+ & "protected, or composite type", Arg1);
end if;
-- Give an error if the pragma is applied to a protected type that