[flang] Restore ENUM_CLASS() to be compilation-time code
authorPeter Klausler <pklausler@nvidia.com>
Fri, 11 Nov 2022 01:29:29 +0000 (17:29 -0800)
committerPeter Klausler <pklausler@nvidia.com>
Fri, 2 Dec 2022 17:55:45 +0000 (09:55 -0800)
commitbcba39a56fd4e1debe3854d564c3e03bf0a50ee6
tree66f44f782de065e2f5029d586c7daae23de67f33
parent64e4d03c681a1c43ec22aee9ce32b784ed5aee9c
[flang] Restore ENUM_CLASS() to be compilation-time code

Rework some recent changes to the ENUM_CLASS() macro so that
all of the construction of enumerator-to-name string mapping
data structures is again performed at compilation time.

Differential Revision: https://reviews.llvm.org/D137859
16 files changed:
flang/include/flang/Common/enum-class.h [new file with mode: 0644]
flang/include/flang/Common/enum-set.h
flang/include/flang/Common/idioms.h
flang/include/flang/Evaluate/type.h
flang/include/flang/Parser/characters.h
flang/include/flang/Parser/dump-parse-tree.h
flang/include/flang/Parser/message.h
flang/lib/Common/idioms.cpp
flang/lib/Evaluate/characteristics.cpp
flang/lib/Lower/IO.cpp
flang/lib/Parser/message.cpp
flang/lib/Parser/unparse.cpp
flang/lib/Semantics/attr.cpp
flang/lib/Semantics/expression.cpp
flang/lib/Semantics/mod-file.cpp
flang/lib/Semantics/symbol.cpp