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] |
Tested on i686-linux, committed on trunk This patches a bug which shows up if you have a subtype of a variant record, and all fields of the subtype have component clauses. In this situation the code attempted to reset the Is_Packed flag of the subtype (and there is no such flag), and also to generate a junk warning. This bug was always present with -gnatwr, and the latest change made the situation worse by having the blowup occur even if -gnatwr is not used. The test program is: package P is type R (A : Boolean) is record case A is when True => X : Integer; when False => Y : Integer; end case; end record; for R use record A at 0 range 0 .. 0; X at 4 range 0 .. 31; end record; pragma Pack (R); subtype G is R (True); end P; This should compile quietly with no warnings, with or without -gnatwr 2005-12-05 Robert Dewar <dewar@adacore.com> * freeze.adb (Freeze_Record_Type): Only test for useless pack on record types, not on record subtypes. (Freeze_Entity): Code cleanup. Add barrier to the loop that generates the references for primitive operations. This allows to remove an unnecessary exception handler. Code reformatting and comment clean ups.
Attachment:
difs.16
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |