comparison gcc/ada/aspects.ads @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
4 -- -- 4 -- --
5 -- A S P E C T S -- 5 -- A S P E C T S --
6 -- -- 6 -- --
7 -- S p e c -- 7 -- S p e c --
8 -- -- 8 -- --
9 -- Copyright (C) 2010-2018, Free Software Foundation, Inc. -- 9 -- Copyright (C) 2010-2019, Free Software Foundation, Inc. --
10 -- -- 10 -- --
11 -- GNAT is free software; you can redistribute it and/or modify it under -- 11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- -- 12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- -- 13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
114 Aspect_Iterator_Element, 114 Aspect_Iterator_Element,
115 Aspect_Iterable, -- GNAT 115 Aspect_Iterable, -- GNAT
116 Aspect_Link_Name, 116 Aspect_Link_Name,
117 Aspect_Linker_Section, -- GNAT 117 Aspect_Linker_Section, -- GNAT
118 Aspect_Machine_Radix, 118 Aspect_Machine_Radix,
119 Aspect_Max_Entry_Queue_Depth, 119 Aspect_Max_Entry_Queue_Depth, -- GNAT
120 Aspect_Max_Entry_Queue_Length,
120 Aspect_Max_Queue_Length, -- GNAT 121 Aspect_Max_Queue_Length, -- GNAT
122 Aspect_No_Caching, -- GNAT
121 Aspect_Object_Size, -- GNAT 123 Aspect_Object_Size, -- GNAT
122 Aspect_Obsolescent, -- GNAT 124 Aspect_Obsolescent, -- GNAT
123 Aspect_Output, 125 Aspect_Output,
124 Aspect_Part_Of, -- GNAT 126 Aspect_Part_Of, -- GNAT
125 Aspect_Post, 127 Aspect_Post,
250 Aspect_Global => True, 252 Aspect_Global => True,
251 Aspect_Inline_Always => True, 253 Aspect_Inline_Always => True,
252 Aspect_Invariant => True, 254 Aspect_Invariant => True,
253 Aspect_Lock_Free => True, 255 Aspect_Lock_Free => True,
254 Aspect_Max_Entry_Queue_Depth => True, 256 Aspect_Max_Entry_Queue_Depth => True,
257 Aspect_Max_Entry_Queue_Length => True,
255 Aspect_Max_Queue_Length => True, 258 Aspect_Max_Queue_Length => True,
256 Aspect_Object_Size => True, 259 Aspect_Object_Size => True,
257 Aspect_Persistent_BSS => True, 260 Aspect_Persistent_BSS => True,
258 Aspect_Predicate => True, 261 Aspect_Predicate => True,
259 Aspect_Pure_Function => True, 262 Aspect_Pure_Function => True,
273 Aspect_Unreferenced => True, 276 Aspect_Unreferenced => True,
274 Aspect_Unreferenced_Objects => True, 277 Aspect_Unreferenced_Objects => True,
275 Aspect_Value_Size => True, 278 Aspect_Value_Size => True,
276 Aspect_Volatile_Function => True, 279 Aspect_Volatile_Function => True,
277 Aspect_Warnings => True, 280 Aspect_Warnings => True,
281 others => False);
282
283 -- The following array indicates aspects that specify operational
284 -- characteristics, and thus are view-specific. Representation
285 -- aspects break privacy, as they are needed during expansion and
286 -- code generation.
287 -- List is currently incomplete ???
288
289 Operational_Aspect : constant array (Aspect_Id) of Boolean :=
290 (Aspect_Constant_Indexing => True,
291 Aspect_Default_Iterator => True,
292 Aspect_Iterator_Element => True,
293 Aspect_Iterable => True,
294 Aspect_Variable_Indexing => True,
278 others => False); 295 others => False);
279 296
280 -- The following array indicates aspects for which multiple occurrences of 297 -- The following array indicates aspects for which multiple occurrences of
281 -- the same aspect attached to the same declaration are allowed. 298 -- the same aspect attached to the same declaration are allowed.
282 299
359 Aspect_Iterator_Element => Name, 376 Aspect_Iterator_Element => Name,
360 Aspect_Link_Name => Expression, 377 Aspect_Link_Name => Expression,
361 Aspect_Linker_Section => Expression, 378 Aspect_Linker_Section => Expression,
362 Aspect_Machine_Radix => Expression, 379 Aspect_Machine_Radix => Expression,
363 Aspect_Max_Entry_Queue_Depth => Expression, 380 Aspect_Max_Entry_Queue_Depth => Expression,
381 Aspect_Max_Entry_Queue_Length => Expression,
364 Aspect_Max_Queue_Length => Expression, 382 Aspect_Max_Queue_Length => Expression,
383 Aspect_No_Caching => Optional_Expression,
365 Aspect_Object_Size => Expression, 384 Aspect_Object_Size => Expression,
366 Aspect_Obsolescent => Optional_Expression, 385 Aspect_Obsolescent => Optional_Expression,
367 Aspect_Output => Name, 386 Aspect_Output => Name,
368 Aspect_Part_Of => Expression, 387 Aspect_Part_Of => Expression,
369 Aspect_Post => Expression, 388 Aspect_Post => Expression,
469 Aspect_Link_Name => Name_Link_Name, 488 Aspect_Link_Name => Name_Link_Name,
470 Aspect_Linker_Section => Name_Linker_Section, 489 Aspect_Linker_Section => Name_Linker_Section,
471 Aspect_Lock_Free => Name_Lock_Free, 490 Aspect_Lock_Free => Name_Lock_Free,
472 Aspect_Machine_Radix => Name_Machine_Radix, 491 Aspect_Machine_Radix => Name_Machine_Radix,
473 Aspect_Max_Entry_Queue_Depth => Name_Max_Entry_Queue_Depth, 492 Aspect_Max_Entry_Queue_Depth => Name_Max_Entry_Queue_Depth,
493 Aspect_Max_Entry_Queue_Length => Name_Max_Entry_Queue_Length,
474 Aspect_Max_Queue_Length => Name_Max_Queue_Length, 494 Aspect_Max_Queue_Length => Name_Max_Queue_Length,
495 Aspect_No_Caching => Name_No_Caching,
475 Aspect_No_Elaboration_Code_All => Name_No_Elaboration_Code_All, 496 Aspect_No_Elaboration_Code_All => Name_No_Elaboration_Code_All,
476 Aspect_No_Inline => Name_No_Inline, 497 Aspect_No_Inline => Name_No_Inline,
477 Aspect_No_Return => Name_No_Return, 498 Aspect_No_Return => Name_No_Return,
478 Aspect_No_Tagged_Streams => Name_No_Tagged_Streams, 499 Aspect_No_Tagged_Streams => Name_No_Tagged_Streams,
479 Aspect_Object_Size => Name_Object_Size, 500 Aspect_Object_Size => Name_Object_Size,
746 Aspect_Global => Never_Delay, 767 Aspect_Global => Never_Delay,
747 Aspect_Import => Never_Delay, 768 Aspect_Import => Never_Delay,
748 Aspect_Initial_Condition => Never_Delay, 769 Aspect_Initial_Condition => Never_Delay,
749 Aspect_Initializes => Never_Delay, 770 Aspect_Initializes => Never_Delay,
750 Aspect_Max_Entry_Queue_Depth => Never_Delay, 771 Aspect_Max_Entry_Queue_Depth => Never_Delay,
772 Aspect_Max_Entry_Queue_Length => Never_Delay,
751 Aspect_Max_Queue_Length => Never_Delay, 773 Aspect_Max_Queue_Length => Never_Delay,
774 Aspect_No_Caching => Never_Delay,
752 Aspect_No_Elaboration_Code_All => Never_Delay, 775 Aspect_No_Elaboration_Code_All => Never_Delay,
753 Aspect_No_Tagged_Streams => Never_Delay, 776 Aspect_No_Tagged_Streams => Never_Delay,
754 Aspect_Obsolescent => Never_Delay, 777 Aspect_Obsolescent => Never_Delay,
755 Aspect_Part_Of => Never_Delay, 778 Aspect_Part_Of => Never_Delay,
756 Aspect_Refined_Depends => Never_Delay, 779 Aspect_Refined_Depends => Never_Delay,