This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] Better error message for illegal Invariant'class aspect


Within the compiler class-wide aspects use a leading-underscore internal
identifier. If the placement of the aspect is illegal, the error message
must mention the original form of the aspect.

Compiling class_a.ads must yield:

   class_a.ads:5:10:
         aspect "Type_Invariant_Class" only allowed
             for private type declared in visible part

---
package Class_A is
    type A_T is tagged private;
private
    type A_T is tagged null record
    with Type_Invariant'Class => True;
end Class_A;

Tested on x86_64-pc-linux-gnu, committed on trunk

2015-02-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Fix_Error): For an illegal Type_Invariant'Class
	aspect, use name that mentions Class explicitly, rather than
	compiler-internal name.

Attachment: difs
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]