| // RUN: %offload-tblgen -gen-print-header -I %S/../../../liboffload/API %s | %fcheck-generic |
| |
| // Check that print helpers are created for enums |
| |
| include "APIDefs.td" |
| |
| def : Enum { |
| let name = "my_enum_t"; |
| let desc = "An example enum"; |
| let etors =[ |
| Etor<"VALUE_ONE", "The first enum value">, |
| Etor<"VALUE_TWO", "The second enum value">, |
| Etor<"VALUE_THREE", "The third enum value">, |
| Etor<"VALUE_FOUR", "The fourth enum value">, |
| ]; |
| } |
| |
| // CHECK: inline llvm::raw_ostream &operator<<(llvm::raw_ostream &os, enum my_enum_t value) |
| // CHECK: switch (value) { |
| // CHECK: case MY_ENUM_VALUE_ONE: |
| // CHECK: os << "MY_ENUM_VALUE_ONE"; |
| // CHECK: break; |
| // CHECK: case MY_ENUM_VALUE_TWO: |
| // CHECK: os << "MY_ENUM_VALUE_TWO"; |
| // CHECK: break; |
| // CHECK: case MY_ENUM_VALUE_THREE: |
| // CHECK: os << "MY_ENUM_VALUE_THREE"; |
| // CHECK: break; |
| // CHECK: case MY_ENUM_VALUE_FOUR: |
| // CHECK: os << "MY_ENUM_VALUE_FOUR"; |
| // CHECK: break; |
| // CHECK: default: |
| // CHECK: os << "unknown enumerator"; |
| // CHECK: break; |