| // RUN: not llvm-mc -triple=amdgpu9.00-amd-amdhsa %s -filetype=null 2>&1 | FileCheck %s |
| |
| // Each error case aborts parsing of its enclosing .amdgpu_info block: the |
| // parser returns on the failing directive, which implicitly exits the block |
| // (there is no block-open state tracked at the top level), and the next |
| // test case starts fresh at top level. `.end_amdgpu_info` terminators are |
| // therefore intentionally omitted -- adding them here would themselves |
| // become "unknown directive" errors, since `.end_amdgpu_info` is only |
| // recognised inside the block. |
| |
| // Missing function symbol after .amdgpu_info. |
| .amdgpu_info |
| // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected symbol name after .amdgpu_info |
| |
| // Unknown directive inside a .amdgpu_info block. |
| .amdgpu_info f_unknown_dir |
| .amdgpu_bogus 1 |
| // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: unknown .amdgpu_info directive '.amdgpu_bogus' |
| |
| // .amdgpu_use with no resource symbol. |
| .amdgpu_info f_use_missing |
| .amdgpu_use |
| // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected resource symbol for .amdgpu_use |
| |
| // .amdgpu_call with no callee symbol. |
| .amdgpu_info f_call_missing |
| .amdgpu_call |
| // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected callee symbol for .amdgpu_call |
| |
| // .amdgpu_indirect_call with no type-ID string. |
| .amdgpu_info f_icall_missing |
| .amdgpu_indirect_call |
| // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected type ID string for .amdgpu_indirect_call |
| |
| // .amdgpu_typeid with no type-ID string. |
| .amdgpu_info f_typeid_missing |
| .amdgpu_typeid |
| // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected type ID string for .amdgpu_typeid |
| |
| // Non-identifier token where a directive or .end_amdgpu_info is expected. |
| .amdgpu_info f_bad_token |
| 123 |
| // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected directive or .end_amdgpu_info |