[flang-commits] [flang] [flang][cli] Add diagnostic flags to the CLI (PR #142022)
Peter Klausler via flang-commits
flang-commits at lists.llvm.org
Thu Jun 5 13:28:25 PDT 2025
================
@@ -62,11 +62,19 @@ constexpr std::array<std::string_view, ITEMS> EnumNames(const char *p) {
enum class NAME { __VA_ARGS__ }; \
[[maybe_unused]] static constexpr std::size_t NAME##_enumSize{ \
::Fortran::common::CountEnumNames(#__VA_ARGS__)}; \
+ [[maybe_unused]] static constexpr std::array<std::string_view, \
+ NAME##_enumSize> NAME##_names{ \
+ ::Fortran::common::EnumNames<NAME##_enumSize>(#__VA_ARGS__)}; \
+ [[maybe_unused]] static inline std::size_t EnumToInt(NAME e) { \
+ return static_cast<std::size_t>(e); \
+ } \
[[maybe_unused]] static inline std::string_view EnumToString(NAME e) { \
- static const constexpr auto names{ \
- ::Fortran::common::EnumNames<NAME##_enumSize>(#__VA_ARGS__)}; \
- return names[static_cast<std::size_t>(e)]; \
+ return NAME##_names[static_cast<std::size_t>(e)]; \
+ } \
+ [[maybe_unused]] inline void ForEach##NAME(std::function<void(NAME)> f) { \
+ for (std::size_t i = 0; i < NAME##_enumSize; ++i) { \
----------------
klausler wrote:
`{` braced initialization `}`
https://github.com/llvm/llvm-project/pull/142022
More information about the flang-commits
mailing list