exp_prag.adb
26 KB
-
exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a default… · 2fa9443e
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
Ed Schonberg committed