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] Make more fields and flags available in the compiler


Tested on x86-linux, committed on mainline.

We were running out of room in entities, both for fields (e.g. record
type entities had no spare fields) and flags (there is only one unused
flag left). We anticipate needing more fields and flags, particularly
in tagged types, for implementing the interfaces feature of Ada 2005,
and other Ada 2005 features. Rather than fiddle around overlapping and
reusing existing fields, it seemed time to expand entities. The cost is
32 bytes extra per entity, but we now have four extra fields and 32 extra
flags, and space for more if we need it later on. The patches are to atree
to provide the extra space, and to einfo to document the existence of the
new fields, and define routines for printing field names (initially dummy
routines, since we are not yet using these extra fields. The only other
change is to treepr to print these new fields if present.

2005-01-03  Robert Dewar  <dewar@adacore.com>

	* atree.adb: Add a fifth component to entities
	This allows us to add 32 flags and four new fields

	* atree.ads: Add a fifth component to entities
	This allows us to add 32 flags and four new fields

	* einfo.ads, einfo.adb: Document new fields and new flags now available
	Add routines for printing new fields

	* treepr.adb: Call routines to print out additional fields if present

Attachment: difs.3
Description: Text document


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