re PR ada/54125 (s-atopri.adb:40:10: "Support_Atomic_Primitives" is undefined broke...
authorVincent Pucci <pucci@adacore.com>
Mon, 6 Aug 2012 08:12:10 +0000 (10:12 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 6 Aug 2012 08:12:10 +0000 (10:12 +0200)
commit0ebc109a5ea094a942ce928f6e9d89a682ce9971
treef0cc8703a3dd5b12c3179ab47811052a3e29feef
parenta39a553eacce1f39fac4cffc0f5768bee425c1a1
re PR ada/54125 (s-atopri.adb:40:10: "Support_Atomic_Primitives" is undefined broke Ada on multiple platforms)

2012-08-06  Vincent Pucci  <pucci@adacore.com>

PR ada/54125
* exp_attr.adb (Expand_N_Attribute_Reference): Expand new
Atomic_Always_Lock_Free attribute.
* sem_attr.adb (Analyze_Attribute): Analyze new
Atomic_Always_Lock_Free attribute.
(Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free
attribute.
* sem_ch9.adb (Allows_Lock_Free_Implementation):
Support_Atomic_Primitives check replaces previous erroneous
size check.
* sem_util.adb, sem_util.ads (Support_Atomic_Primitives):
New routine.
* snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and
new attribute Attribute_Atomic_Always_Lock_Free defined.
* s-atopri.adb: Support_Atomic_Primitives checks replaced by
Atomic_Always_Lock_Free queries.
* system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads,
system-linux-ppc.ads, system-linux-s390.ads,
system-linux-s390x.ads, system-linux-sh4.ads,
system-linux-sparc.ads, system-lynxos178-ppc.ads,
system-lynxos-ppc.ads, system-mingw.ads,
system-vxworks-arm.ads, system-solaris-sparc.ads,
system-solaris-sparcv9.ads, system-vms_64.ads,
system-vxworks-m68k.ads, system-vxworks-mips.ads,
system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag
Support_Atomic_Primitives removed.

From-SVN: r190163
28 files changed:
gcc/ada/exp_attr.adb
gcc/ada/s-atopri.adb
gcc/ada/sem_attr.adb
gcc/ada/sem_ch9.adb
gcc/ada/sem_util.adb
gcc/ada/sem_util.ads
gcc/ada/snames.ads-tmpl
gcc/ada/system-aix.ads
gcc/ada/system-aix64.ads
gcc/ada/system-darwin-ppc.ads
gcc/ada/system-hpux.ads
gcc/ada/system-linux-alpha.ads
gcc/ada/system-linux-hppa.ads
gcc/ada/system-linux-ppc.ads
gcc/ada/system-linux-s390.ads
gcc/ada/system-linux-s390x.ads
gcc/ada/system-linux-sh4.ads
gcc/ada/system-linux-sparc.ads
gcc/ada/system-lynxos-ppc.ads
gcc/ada/system-mingw.ads
gcc/ada/system-solaris-sparc.ads
gcc/ada/system-solaris-sparcv9.ads
gcc/ada/system-vms_64.ads
gcc/ada/system-vxworks-arm.ads
gcc/ada/system-vxworks-m68k.ads
gcc/ada/system-vxworks-mips.ads
gcc/ada/system-vxworks-ppc.ads
gcc/ada/system-vxworks-sparcv9.ads