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] Fix tasking run-time when compiled with checks on


Tested on i686-linux, committed on trunk

When compiling the run-time with checks on, most tasking tests fail
with an accessibility check in s-inmaop.adb. It appears that the
accessibility check is over zealous in this particular case, and that
there is no actual issue, but to make the run-time useable with checks on,
we replace the use of sigset_t_ptr with anonymous access parameters.
Interestingly, we used to do that very early on, and then realized that
anonymous access parameters in Ada 95 cannot be null, so when the check
was added in GNAT (several years ago), we had to first introduce a debug
flag -gnatdj, and then modified the run-time (that was Laurent Guerby
at the time ;-) to avoid anonymous access types. Several years later, it
appears that this code is not compatible with standard Ada checks, but
at the same time, anonymous access types in Ada 2005 now allow null
values, so we can put this code back, since GNAT units are compiled in
Ada 2005 mode.

2006-02-13  Arnaud Charlet  <charlet@adacore.com>

	* s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads, 
	s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads, 
	s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads, 
	s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads, 
	s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads, 
	s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed,
	replaced by anonymous access type.
	(pthread_sigmask): Now take an access sigset_t

	* s-osinte-hpux.ads:  Ditto.
	(pthread_mutex_t, pthread_cond_t): Update definitions to support
	properly 32 and 64 bit ABIs.

Attachment: difs.5
Description: Text document


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