exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a default initializ...
authorEd Schonberg <schonberg@adacore.com>
Wed, 6 Jun 2007 10:27:41 +0000 (12:27 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 6 Jun 2007 10:27:41 +0000 (12:27 +0200)
commit2fa9443ee92516002d3e3a58eff4c1c5b030dfdd
tree5d2107f02e060dc7b88a186a48e40cf696cf91db
parent7d8b9c9990b3e3cc13303e3dd0057ff87994120b
exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a default initialization on an imported object...

2007-04-20  Ed Schonberg  <schonberg@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a
default initialization on an imported object, when there is no
initialization call generated for it.
(Expand_Pragma_Assert): Add handling of No_Exception_Propagation
restriction

* snames.h, snames.ads, snames.adb, par-prag.adb: New pragma
Static_Elaboration_Desired.
Remove pragma Thread_Body.
Implement a new pragma No_Body
Removes the Explicit_Overriding pragma
Remove Optional_Overriding pragma
(Prag): Deal with Universal_Aliasing.
(Name_CIL, Name_CIL_Constructor, Convention_CIL,
Pragma_CIL_Constructor): New names.

* sem_cat.adb (Validate_Object_Declaration): An initialization that
uses the equivalent aggregate of a type must be treated as an implicit
initialization.
(Get_Categorization): Check a unit for pragma Preelaborate only if it
has none of the other categories.
(Process_Import_Or_Interface_Pragma): Report an error for an attempt
to apply Import to an object renaming declaration.

* sem_prag.adb (Process_Import_Or_Interface): Warn that a type imported
from a C++ class should be declared as limited and that it will be
considererd limited.
(Analyze_Pragma): Warn that a type specified with pragma CPP_Class
should be declared as limited and that it will be considererd limited.
(Ada_2005_Pragma): New procedure, used to deal with Ada 2005 pragmas
(Analyze_Pragma, case Export): Diagnose export of enumeration literal
(Analyze_Pragma): Deal with Universal_Aliasing.
(Sig_Flags): Likewise.
(Set_Encoded_Interface_Name): Suppress encoding when compiling for AAMP.
(Overflow_Checks_Unsuppressed): New flag.
(Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
(Analyze_Pragma [case Pack]): Ignore pragma Pack and post warning in
case of JVM or .NET targets, and compiling user code.
Add debugging convenience routine rv

From-SVN: r125408
gcc/ada/exp_prag.adb
gcc/ada/par-prag.adb
gcc/ada/sem_cat.adb
gcc/ada/sem_prag.adb
gcc/ada/snames.adb
gcc/ada/snames.ads
gcc/ada/snames.h