2007-12-06 Robert Dewar <dewar@adacore.com>
* s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads,
s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads,
s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb,
s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads,
s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads,
s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads,
i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C
for subprogram pointers.
* g-ctrl_c.adb: New file.
* g-ctrl_c.ads (Install_Handler): New body.
* freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always
instead of obsolete function Is_Always_Inlined.
(Freeze_Entity): check for tagged type in imported C subprogram
(Freeze_Entity): check for 8-bit boolean in imported C subprogram
(Freeze_Entity): check for convention Ada subprogram pointer in
imported C subprogram.
(Freeze_Fixed_Point_Type): In the case of a base type where the low
bound would be chopped off and go from negative to zero, force
Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower
bound) so that the size computation for the base type will take
negative values into account.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130813
138bc75d-0d04-0410-961f-
82ee72b054a4