| {{- /* |
| -------------------------------------------------------------------------------- |
| Template file for use with tools/src/cmd/gen to generate diagnostic_control.h |
| |
| See: |
| * tools/src/cmd/gen for structures used by this template |
| * https://golang.org/pkg/text/template/ for documentation on the template syntax |
| -------------------------------------------------------------------------------- |
| */ -}} |
| |
| {{- $I := LoadIntrinsics "src/tint/lang/wgsl/wgsl.def" -}} |
| {{- Import "src/tint/utils/templates/enums.tmpl.inc" -}} |
| |
| #ifndef SRC_TINT_LANG_WGSL_DIAGNOSTIC_RULE_H_ |
| #define SRC_TINT_LANG_WGSL_DIAGNOSTIC_RULE_H_ |
| |
| #include <cstdint> |
| #include <variant> |
| |
| #include "src/tint/utils/rtti/traits.h" |
| |
| namespace tint::wgsl { |
| |
| /// WGSL core diagnostic rules. |
| {{ Eval "DeclareEnum" ($I.Sem.Enum "core_diagnostic_rule") }} |
| |
| /// Chromium-specific diagnostic rules. |
| {{ Eval "DeclareEnum" ($I.Sem.Enum "chromium_diagnostic_rule") }} |
| |
| /// All diagnostic rules understood by Tint. |
| using DiagnosticRule = std::variant<CoreDiagnosticRule, ChromiumDiagnosticRule>; |
| |
| } // namespace tint::wgsl |
| |
| #endif // SRC_TINT_LANG_WGSL_DIAGNOSTIC_RULE_H_ |