Commit 2780d174 by Arnaud Charlet

[multiple changes]

2012-11-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Check_Constrained_Object): Do nothing if the
	renamed object is a limited record.

2012-11-06  Bernard Banner  <banner@adacore.com>

	* sysdep.c (_getpagesize): New. Minor reformatting.

From-SVN: r193218
parent 0ce1ec64
2012-11-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Check_Constrained_Object): Do nothing if the
renamed object is a limited record.
2012-11-06 Bernard Banner <banner@adacore.com>
* sysdep.c (_getpagesize): New. Minor reformatting.
2012-11-06 Robert Dewar <dewar@adacore.com> 2012-11-06 Robert Dewar <dewar@adacore.com>
* sem_prag.adb: Minor reformatting. * sem_prag.adb: Minor reformatting.
......
...@@ -731,6 +731,15 @@ package body Sem_Ch8 is ...@@ -731,6 +731,15 @@ package body Sem_Ch8 is
elsif Is_Unchecked_Union (Etype (Nam)) then elsif Is_Unchecked_Union (Etype (Nam)) then
null; null;
-- If a record is limited its size is invariant. This is the case
-- in particular with record types with an access discirminant
-- that are used in iterators. This is an optimization, but it
-- also prevents typing anomalies when the prefix is further
-- expanded.
elsif Is_Limited_Record (Etype (Nam)) then
null;
else else
Subt := Make_Temporary (Loc, 'T'); Subt := Make_Temporary (Loc, 'T');
Remove_Side_Effects (Nam); Remove_Side_Effects (Nam);
......
...@@ -938,30 +938,37 @@ __gnat_is_file_not_found_error (int errno_val) { ...@@ -938,30 +938,37 @@ __gnat_is_file_not_found_error (int errno_val) {
int int
_sigismember (sigset_t *set, int signum) _sigismember (sigset_t *set, int signum)
{ {
return sigismember (set, signum); return sigismember (set, signum);
} }
int int
_sigaddset (sigset_t *set, int signum) _sigaddset (sigset_t *set, int signum)
{ {
return sigaddset (set, signum); return sigaddset (set, signum);
} }
int int
_sigdelset (sigset_t *set, int signum) _sigdelset (sigset_t *set, int signum)
{ {
return sigdelset (set, signum); return sigdelset (set, signum);
} }
int int
_sigemptyset (sigset_t *set) _sigemptyset (sigset_t *set)
{ {
return sigemptyset (set); return sigemptyset (set);
} }
int int
_sigfillset(sigset_t *set) _sigfillset (sigset_t *set)
{ {
return sigfillset (set); return sigfillset (set);
}
#include <unistd.h>
int
_getpagesize (void)
{
return getpagesize ();
} }
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment