// RUN: not %clang_cc1 -fsyntax-only %s 2>&1 | FileCheck -strict-whitespace %s /// empty lines in multi-line diagnostic snippets are preserved. static_assert(false && true, ""); // CHECK: static assertion failed // CHECK-NEXT: {{^}} 4 | static_assert(false &&{{$}} // CHECK-NEXT: {{^}} | ^~~~~~~~{{$}} // CHECK-NEXT: {{^}} 5 | {{$}} // CHECK-NEXT: {{^}} 6 | true, "");{{$}} // CHECK-NEXT: {{^}} | ~~~~{{$}} /// #line pragmas are respected void printf(const char *a, ...) __attribute__((__format__(__printf__, 1, 2))); #line 10 void f(int x) { printf("%f", x); } // CHECK: 12:10: warning: format specifies type // CHECK-NEXT: {{^}} 11 | // CHECK-NEXT: {{^}} | // CHECK-NEXT: {{^}} | // CHECK-NEXT: {{^}} 12 | #line 10 int func( int a, int b, int& r); void test() { func(3, 4, 5); } // CHECK: 10:5: note: candidate function not viable // CHECK-NEXT: {{^}} 10 | // CHECK-NEXT: {{^}} | // CHECK-NEXT: {{^}} 11 | // CHECK-NEXT: {{^}} 12 | // CHECK-NEXT: {{^}} | // CHECK-NEXT: {{^}} 13 | // CHECK-NEXT: {{^}} |