Kristina Brooks | 1a41a11 | 2018-10-19 12:14:30 +0000 | [diff] [blame] | 1 | # RUN: not llvm-mc %s -triple x86_64-linux -o /dev/null 2>&1 | FileCheck %s |
| 2 | # RUN: not llvm-mc %s -triple x86_64-linux -filetype=obj -o /dev/null 2>&1 | FileCheck %s |
Reid Kleckner | 97a2d5c | 2017-10-10 01:49:21 +0000 | [diff] [blame] | 3 | |
| 4 | .text |
| 5 | .cfi_def_cfa rsp, 8 |
| 6 | # CHECK: error: this directive must appear between .cfi_startproc and .cfi_endproc directives |
| 7 | |
| 8 | .cfi_startproc |
| 9 | nop |
| 10 | |
Kristina Brooks | 1a41a11 | 2018-10-19 12:14:30 +0000 | [diff] [blame] | 11 | # TODO(kristina): As Reid suggested, this now supports source locations as a side effect |
| 12 | # of another patch aimed at fixing the crash that would occur here, however the other |
| 13 | # ones do not unfortunately. Will address it in a further patch propogating SMLoc down to |
| 14 | # other CFI directives at which point more LINE checks can be added to ensure proper source |
| 15 | # location reporting. |
| 16 | |
| 17 | # This tests source location correctness as well as the error and it not crashing. |
| 18 | # CHECK: [[@LINE+2]]:1: error: starting new .cfi frame before finishing the previous one |
Reid Kleckner | 97a2d5c | 2017-10-10 01:49:21 +0000 | [diff] [blame] | 19 | .cfi_startproc |
Kristina Brooks | 1a41a11 | 2018-10-19 12:14:30 +0000 | [diff] [blame] | 20 | |
Reid Kleckner | 97a2d5c | 2017-10-10 01:49:21 +0000 | [diff] [blame] | 21 | nop |
| 22 | .cfi_endproc |
| 23 | |
| 24 | .cfi_def_cfa rsp, 8 |
| 25 | # CHECK: error: this directive must appear between .cfi_startproc and .cfi_endproc directives |