GNAT switches the location of the full type and the incomplete type when a
tagged type is completed with a non-tagged record:
% gcc -gnatv -c p.ads
GNAT 4.4.0 20080409 (experimental)
Copyright 1992-2008, Free Software Foundation, Inc.
Compiling: p.ads (source file time stamp: 2008-04-09 13:15:07)
3. type T is tagged;
|
>>> full declaration of type "T" defined at line 4 must be tagged
6 lines: 1 error
--
package P is
type T is tagged;
type T is null record;
end P;
--
Summary: Bad location of error message
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: ada
AssignedTo: sam at gcc dot gnu dot org
ReportedBy: sam at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35886