aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/snames.h
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2005-06-16 10:46:36 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2005-06-16 10:46:36 +0200
commit59e5fbe064423bf109f2e0525d45872f8c77ae05 (patch)
tree473b3727e61ab7b0c861751f6de3c8d7be1894ba /gcc/ada/snames.h
parent6eaf4095470fa44376f802f70382f4ee56b6aa9e (diff)
downloadgcc-59e5fbe064423bf109f2e0525d45872f8c77ae05.zip
gcc-59e5fbe064423bf109f2e0525d45872f8c77ae05.tar.gz
gcc-59e5fbe064423bf109f2e0525d45872f8c77ae05.tar.bz2
re PR ada/10671 (improve error message for named notation used in pragma)
2005-06-14 Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> PR ada/10671 * sem_prag.adb: Implement pragma Persistent_BSS Remove obsolete pragma Persistent_Data, Persistent_Object Set Ada_Version_Explicit, for implementation of AI-362 Test Ada_Version_Explicit for Preelaborate_05 and Pure_05 Add processing for pragma Pure_05 and Preelaborate_05 Add processing for Assertion_Policy pragma Add pragma identifiers for Assert (Analyze_Pragma, case Assert): Check number of arguments (Process_Inline): Additional guard against an illegal program, where the argument of the pragma is undefined, and warnings on redundant constructs are enabled. (Analyze_Pragma, case Obsolescent): Allow an optional second argument Ada_05 to this pragma, specifying that the pragma is only active in Ada_05 mode. (Check_Arg_Order): New procedure Add appropriate calls to this procedure throughout Also throughout, check entity name before doing any other checks * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS Remove obsolete pragma Persistent_Data, Persistent_Object Add entries for pragma Pure_05 and Preelaborate_05 Add entries for Assertion_Policy pragma and associated names Add some names for pragma argument processing * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function From-SVN: r101060
Diffstat (limited to 'gcc/ada/snames.h')
-rw-r--r--gcc/ada/snames.h414
1 files changed, 202 insertions, 212 deletions
diff --git a/gcc/ada/snames.h b/gcc/ada/snames.h
index e7ecb5d..7b62805 100644
--- a/gcc/ada/snames.h
+++ b/gcc/ada/snames.h
@@ -25,7 +25,7 @@
****************************************************************************/
/* This is the C file that corresponds to the Ada package specification
- Snames. It was created manually from the file snames.ads. */
+ Snames. It was created automatically from the file snames.ads. */
/* Name_Id values */
@@ -45,16 +45,16 @@ extern unsigned char Get_Attribute_Id (int);
/* Define the numeric values for attributes. */
-#define Attr_Abort_Signal 0
-#define Attr_Access 1
-#define Attr_Address 2
-#define Attr_Address_Size 3
-#define Attr_Aft 4
-#define Attr_Alignment 5
-#define Attr_Asm_Input 6
-#define Attr_Asm_Output 7
-#define Attr_AST_Entry 8
-#define Attr_Bit 9
+#define Attr_Abort_Signal 0
+#define Attr_Access 1
+#define Attr_Address 2
+#define Attr_Address_Size 3
+#define Attr_Aft 4
+#define Attr_Alignment 5
+#define Attr_Asm_Input 6
+#define Attr_Asm_Output 7
+#define Attr_AST_Entry 8
+#define Attr_Bit 9
#define Attr_Bit_Order 10
#define Attr_Bit_Position 11
#define Attr_Body_Version 12
@@ -145,45 +145,56 @@ extern unsigned char Get_Attribute_Id (int);
#define Attr_Val 97
#define Attr_Valid 98
#define Attr_Value_Size 99
-#define Attr_Version 100
-#define Attr_Wchar_T_Size 101
-#define Attr_Wide_Wide_Width 102
-#define Attr_Wide_Width 103
-#define Attr_Width 104
-#define Attr_Word_Size 105
+#define Attr_Version 100
+#define Attr_Wchar_T_Size 101
+#define Attr_Wide_Wide_Width 102
+#define Attr_Wide_Width 103
+#define Attr_Width 104
+#define Attr_Word_Size 105
+#define Attr_Adjacent 106
+#define Attr_Ceiling 107
+#define Attr_Copy_Sign 108
+#define Attr_Floor 109
+#define Attr_Fraction 110
+#define Attr_Image 111
+#define Attr_Input 112
+#define Attr_Machine 113
+#define Attr_Max 114
+#define Attr_Min 115
+#define Attr_Model 116
+#define Attr_Pred 117
+#define Attr_Remainder 118
+#define Attr_Rounding 119
+#define Attr_Succ 120
+#define Attr_Truncation 121
+#define Attr_Value 122
+#define Attr_Wide_Image 123
+#define Attr_Wide_Wide_Image 124
+#define Attr_Wide_Value 125
+#define Attr_Wide_Wide_Value 126
+#define Attr_Output 127
+#define Attr_Read 128
+#define Attr_Write 129
+#define Attr_Elab_Body 130
+#define Attr_Elab_Spec 131
+#define Attr_Storage_Pool 132
+#define Attr_Base 133
+#define Attr_Class 134
-#define Attr_Adjacent 106
-#define Attr_Ceiling 107
-#define Attr_Copy_Sign 108
-#define Attr_Floor 109
-#define Attr_Fraction 110
-#define Attr_Image 111
-#define Attr_Input 112
-#define Attr_Machine 113
-#define Attr_Max 114
-#define Attr_Min 115
-#define Attr_Model 116
-#define Attr_Pred 117
-#define Attr_Remainder 118
-#define Attr_Rounding 119
-#define Attr_Succ 120
-#define Attr_Truncation 121
-#define Attr_Value 122
-#define Attr_Wide_Image 123
-#define Attr_Wide_Wide_Image 124
-#define Attr_Wide_Value 125
-#define Attr_Wide_Wide_Value 126
-
-#define Attr_Output 127
-#define Attr_Read 128
-#define Attr_Write 129
-
-#define Attr_Elab_Body 130
-#define Attr_Elab_Spec 131
-#define Attr_Storage_Pool 132
+/* Define the numeric values for the conventions. */
-#define Attr_Base 133
-#define Attr_Class 134
+#define Convention_Ada 0
+#define Convention_Intrinsic 1
+#define Convention_Entry 2
+#define Convention_Protected 3
+#define Convention_Assembler 4
+#define Convention_C 5
+#define Convention_COBOL 6
+#define Convention_CPP 7
+#define Convention_Fortran 8
+#define Convention_Java 9
+#define Convention_Stdcall 10
+#define Convention_Stubbed 11
/* Define the function to check if a Name_Id value is a valid pragma */
@@ -200,172 +211,151 @@ extern unsigned char Get_Pragma_Id (int);
/* Define the numeric values for the pragmas. */
-/* Configuration pragmas first */
-
#define Pragma_Ada_83 0
#define Pragma_Ada_95 1
#define Pragma_Ada_05 2
-#define Pragma_C_Pass_By_Copy 3
-#define Pragma_Compile_Time_Warning 4
-#define Pragma_Component_Alignment 5
-#define Pragma_Convention_Identifier 6
-#define Pragma_Detect_Blocking 7
-#define Pragma_Discard_Names 8
-#define Pragma_Elaboration_Checking 9
-#define Pragma_Eliminate 10
-#define Pragma_Explicit_Overriding 11
-#define Pragma_Extend_System 12
-#define Pragma_Extensions_Allowed 13
-#define Pragma_External_Name_Casing 14
-#define Pragma_Float_Representation 15
-#define Pragma_Initialize_Scalars 16
-#define Pragma_Interrupt_State 17
-#define Pragma_License 18
-#define Pragma_Locking_Policy 19
-#define Pragma_Long_Float 20
-#define Pragma_No_Run_Time 21
-#define Pragma_No_Strict_Aliasing 22
-#define Pragma_Normalize_Scalars 23
-#define Pragma_Polling 24
-#define Pragma_Persistent_Data 25
-#define Pragma_Persistent_Object 26
-#define Pragma_Profile 27
-#define Pragma_Profile_Warnings 28
-#define Pragma_Propagate_Exceptions 29
-#define Pragma_Queuing_Policy 30
-#define Pragma_Ravenscar 31
-#define Pragma_Restricted_Run_Time 32
-#define Pragma_Restrictions 33
-#define Pragma_Restriction_Warnings 34
-#define Pragma_Reviewable 35
-#define Pragma_Source_File_Name 36
-#define Pragma_Source_File_Name_Project 37
-#define Pragma_Style_Checks 38
-#define Pragma_Suppress 39
-#define Pragma_Suppress_Exception_Locations 40
-#define Pragma_Task_Dispatching_Policy 41
-#define Pragma_Universal_Data 42
-#define Pragma_Unsuppress 43
-#define Pragma_Use_VADS_Size 44
-#define Pragma_Validity_Checks 45
-#define Pragma_Warnings 46
-
-/* Remaining pragmas */
-
-#define Pragma_Abort_Defer 47
-#define Pragma_All_Calls_Remote 48
-#define Pragma_Annotate 49
-#define Pragma_Assert 50
-#define Pragma_Asynchronous 51
-#define Pragma_Atomic 52
-#define Pragma_Atomic_Components 53
-#define Pragma_Attach_Handler 54
-#define Pragma_Comment 55
-#define Pragma_Common_Object 56
-#define Pragma_Complex_Representation 57
-#define Pragma_Controlled 58
-#define Pragma_Convention 59
-#define Pragma_CPP_Class 60
-#define Pragma_CPP_Constructor 61
-#define Pragma_CPP_Virtual 62
-#define Pragma_CPP_Vtable 63
-#define Pragma_Debug 64
-#define Pragma_Elaborate 65
-#define Pragma_Elaborate_All 66
-#define Pragma_Elaborate_Body 67
-#define Pragma_Export 68
-#define Pragma_Export_Exception 69
-#define Pragma_Export_Function 70
-#define Pragma_Export_Object 71
-#define Pragma_Export_Procedure 72
-#define Pragma_Export_Value 73
-#define Pragma_Export_Valued_Procedure 74
-#define Pragma_External 75
-#define Pragma_Finalize_Storage_Only 76
-#define Pragma_Ident 77
-#define Pragma_Import 78
-#define Pragma_Import_Exception 79
-#define Pragma_Import_Function 80
-#define Pragma_Import_Object 81
-#define Pragma_Import_Procedure 82
-#define Pragma_Import_Valued_Procedure 83
-#define Pragma_Inline 84
-#define Pragma_Inline_Always 85
-#define Pragma_Inline_Generic 86
-#define Pragma_Inspection_Point 87
-#define Pragma_Interface_Name 88
-#define Pragma_Interrupt_Handler 89
-#define Pragma_Interrupt_Priority 90
-#define Pragma_Java_Constructor 91
-#define Pragma_Java_Interface 92
-#define Pragma_Keep_Names 93
-#define Pragma_Link_With 94
-#define Pragma_Linker_Alias 95
-#define Pragma_Linker_Options 96
-#define Pragma_Linker_Section 97
-#define Pragma_List 98
-#define Pragma_Machine_Attribute 99
-#define Pragma_Main 100
-#define Pragma_Main_Storage 101
-#define Pragma_Memory_Size 102
-#define Pragma_No_Return 103
-#define Pragma_Obsolescent 104
-#define Pragma_Optimize 105
-#define Pragma_Optional_Overriding 106
-#define Pragma_Pack 107
-#define Pragma_Page 108
-#define Pragma_Passive 109
-#define Pragma_Preelaborate 110
-#define Pragma_Priority 111
-#define Pragma_Psect_Object 112
-#define Pragma_Pure 113
-#define Pragma_Pure_Function 114
-#define Pragma_Remote_Call_Interface 115
-#define Pragma_Remote_Types 116
-#define Pragma_Share_Generic 117
-#define Pragma_Shared 118
-#define Pragma_Shared_Passive 119
-#define Pragma_Source_Reference 120
-#define Pragma_Stream_Convert 121
-#define Pragma_Subtitle 122
-#define Pragma_Suppress_All 123
-#define Pragma_Suppress_Debug_Info 124
-#define Pragma_Suppress_Initialization 125
-#define Pragma_System_Name 126
-#define Pragma_Task_Info 127
-#define Pragma_Task_Name 128
-#define Pragma_Task_Storage 129
-#define Pragma_Thread_Body 130
-#define Pragma_Time_Slice 131
-#define Pragma_Title 132
-#define Pragma_Unchecked_Union 133
-#define Pragma_Unimplemented_Unit 134
-#define Pragma_Unreferenced 135
-#define Pragma_Unreserve_All_Interrupts 136
-#define Pragma_Volatile 137
-#define Pragma_Volatile_Components 138
-#define Pragma_Weak_External 139
-
-/* The following are deliberately out of alphabetical order, see Snames */
-
-#define Pragma_AST_Entry 140
-#define Pragma_Interface 141
-#define Pragma_Storage_Size 142
-#define Pragma_Storage_Unit 143
-
-/* Define the numeric values for the conventions. */
-
-#define Convention_Ada 0
-#define Convention_Intrinsic 1
-#define Convention_Entry 2
-#define Convention_Protected 3
-#define Convention_Assembler 4
-#define Convention_C 5
-#define Convention_COBOL 6
-#define Convention_CPP 7
-#define Convention_Fortran 8
-#define Convention_Java 9
-#define Convention_Stdcall 10
-#define Convention_Stubbed 11
+#define Pragma_Assertion_Policy 3
+#define Pragma_C_Pass_By_Copy 4
+#define Pragma_Compile_Time_Warning 5
+#define Pragma_Component_Alignment 6
+#define Pragma_Convention_Identifier 7
+#define Pragma_Detect_Blocking 8
+#define Pragma_Discard_Names 9
+#define Pragma_Elaboration_Checks 10
+#define Pragma_Eliminate 11
+#define Pragma_Explicit_Overriding 12
+#define Pragma_Extend_System 13
+#define Pragma_Extensions_Allowed 14
+#define Pragma_External_Name_Casing 15
+#define Pragma_Float_Representation 16
+#define Pragma_Initialize_Scalars 17
+#define Pragma_Interrupt_State 18
+#define Pragma_License 19
+#define Pragma_Locking_Policy 20
+#define Pragma_Long_Float 21
+#define Pragma_No_Run_Time 22
+#define Pragma_No_Strict_Aliasing 23
+#define Pragma_Normalize_Scalars 24
+#define Pragma_Polling 25
+#define Pragma_Persistent_BSS 26
+#define Pragma_Profile 27
+#define Pragma_Profile_Warnings 28
+#define Pragma_Propagate_Exceptions 29
+#define Pragma_Queuing_Policy 30
+#define Pragma_Ravenscar 31
+#define Pragma_Restricted_Run_Time 32
+#define Pragma_Restrictions 33
+#define Pragma_Restriction_Warnings 34
+#define Pragma_Reviewable 35
+#define Pragma_Source_File_Name 36
+#define Pragma_Source_File_Name_Project 37
+#define Pragma_Style_Checks 38
+#define Pragma_Suppress 39
+#define Pragma_Suppress_Exception_Locations 40
+#define Pragma_Task_Dispatching_Policy 41
+#define Pragma_Universal_Data 42
+#define Pragma_Unsuppress 43
+#define Pragma_Use_VADS_Size 44
+#define Pragma_Validity_Checks 45
+#define Pragma_Warnings 46
+#define Pragma_Abort_Defer 47
+#define Pragma_All_Calls_Remote 48
+#define Pragma_Annotate 49
+#define Pragma_Assert 50
+#define Pragma_Asynchronous 51
+#define Pragma_Atomic 52
+#define Pragma_Atomic_Components 53
+#define Pragma_Attach_Handler 54
+#define Pragma_Comment 55
+#define Pragma_Common_Object 56
+#define Pragma_Complex_Representation 57
+#define Pragma_Controlled 58
+#define Pragma_Convention 59
+#define Pragma_CPP_Class 60
+#define Pragma_CPP_Constructor 61
+#define Pragma_CPP_Virtual 62
+#define Pragma_CPP_Vtable 63
+#define Pragma_Debug 64
+#define Pragma_Elaborate 65
+#define Pragma_Elaborate_All 66
+#define Pragma_Elaborate_Body 67
+#define Pragma_Export 68
+#define Pragma_Export_Exception 69
+#define Pragma_Export_Function 70
+#define Pragma_Export_Object 71
+#define Pragma_Export_Procedure 72
+#define Pragma_Export_Value 73
+#define Pragma_Export_Valued_Procedure 74
+#define Pragma_External 75
+#define Pragma_Finalize_Storage_Only 76
+#define Pragma_Ident 77
+#define Pragma_Import 78
+#define Pragma_Import_Exception 79
+#define Pragma_Import_Function 80
+#define Pragma_Import_Object 81
+#define Pragma_Import_Procedure 82
+#define Pragma_Import_Valued_Procedure 83
+#define Pragma_Inline 84
+#define Pragma_Inline_Always 85
+#define Pragma_Inline_Generic 86
+#define Pragma_Inspection_Point 87
+#define Pragma_Interface_Name 88
+#define Pragma_Interrupt_Handler 89
+#define Pragma_Interrupt_Priority 90
+#define Pragma_Java_Constructor 91
+#define Pragma_Java_Interface 92
+#define Pragma_Keep_Names 93
+#define Pragma_Link_With 94
+#define Pragma_Linker_Alias 95
+#define Pragma_Linker_Options 96
+#define Pragma_Linker_Section 97
+#define Pragma_List 98
+#define Pragma_Machine_Attribute 99
+#define Pragma_Main 100
+#define Pragma_Main_Storage 101
+#define Pragma_Memory_Size 102
+#define Pragma_No_Return 103
+#define Pragma_Obsolescent 104
+#define Pragma_Optimize 105
+#define Pragma_Optional_Overriding 106
+#define Pragma_Pack 107
+#define Pragma_Page 108
+#define Pragma_Passive 109
+#define Pragma_Preelaborate 110
+#define Pragma_Preelaborate_05 111
+#define Pragma_Priority 112
+#define Pragma_Psect_Object 113
+#define Pragma_Pure 114
+#define Pragma_Pure_05 115
+#define Pragma_Pure_Function 116
+#define Pragma_Remote_Call_Interface 117
+#define Pragma_Remote_Types 118
+#define Pragma_Share_Generic 119
+#define Pragma_Shared 120
+#define Pragma_Shared_Passive 121
+#define Pragma_Source_Reference 122
+#define Pragma_Stream_Convert 123
+#define Pragma_Subtitle 124
+#define Pragma_Suppress_All 125
+#define Pragma_Suppress_Debug_Info 126
+#define Pragma_Suppress_Initialization 127
+#define Pragma_System_Name 128
+#define Pragma_Task_Info 129
+#define Pragma_Task_Name 130
+#define Pragma_Task_Storage 131
+#define Pragma_Thread_Body 132
+#define Pragma_Time_Slice 133
+#define Pragma_Title 134
+#define Pragma_Unchecked_Union 135
+#define Pragma_Unimplemented_Unit 136
+#define Pragma_Unreferenced 137
+#define Pragma_Unreserve_All_Interrupts 138
+#define Pragma_Volatile 139
+#define Pragma_Volatile_Components 140
+#define Pragma_Weak_External 141
+#define Pragma_AST_Entry 142
+#define Pragma_Interface 143
+#define Pragma_Storage_Size 144
+#define Pragma_Storage_Unit 145
/* End of snames.h (C version of Snames package spec) */