]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Emit enums rather than defines for various constants
authorTom Tromey <tromey@adacore.com>
Fri, 30 Jun 2023 15:31:40 +0000 (09:31 -0600)
committerMarc Poulhiès <poulhies@adacore.com>
Fri, 28 Jul 2023 07:28:13 +0000 (09:28 +0200)
commit5d8fc02062b36e58c9d0bd39e7c9bb286335d870
treee4dbc0452ae0bb0f82ff9dfbc824ba30257981c5
parent7e448f3c3dfb53a0d9e0b67c2fef566a56942596
ada: Emit enums rather than defines for various constants

This patch changes xsnamest and gen_il-gen to emit various constants
as enums rather than a sequence of preprocessor defines.  This enables
better debugging and somewhat better type safety.

gcc/ada/

* fe.h (Convention): Now inline function.
* gen_il-gen.adb (Put_C_Type_And_Subtypes.Put_Enum_Lit)
(Put_C_Type_And_Subtypes.Put_Kind_Subtype, Put_C_Getter):
Emit enum.
* snames.h-tmpl (Name_Id, Name_, Attribute_Id, Attribute_)
(Convention_Id, Convention_, Pragma_Id, Pragma_): Now enum.
(Get_Attribute_Id, Get_Pragma_Id): Now inline functions.
* types.h (Node_Kind, Entity_Kind, Convention_Id, Name_Id):
Now enum.
* xsnamest.adb (Output_Header_Line, Make_Value): Emit enum.
gcc/ada/fe.h
gcc/ada/gen_il-gen.adb
gcc/ada/snames.h-tmpl
gcc/ada/types.h
gcc/ada/xsnamest.adb