Mercurial > hg > CbC > CbC_llvm
view clang/test/Misc/diag-greatergreater.cpp @ 176:de4ac79aef9d
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 17:13:11 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
// RUN: not %clang_cc1 %s -fdiagnostics-print-source-range-info 2>&1 | FileCheck %s --strict-whitespace template<typename T> class C {}; template<int> class D {}; void g() { // The range ending in the first > character does not extend to the second > // character. // CHECK: :{[[@LINE+3]]:5-[[@LINE+3]]:11}: error: // CHECK-NEXT: D<C<int>> a; // CHECK-NEXT: ^~~~~~{{$}} D<C<int>> a; // The range ending in the second > character does not extend to the third > // character. // CHECK: :{[[@LINE+3]]:5-[[@LINE+3]]:14}: error: // CHECK-NEXT: D<C<C<int>>> b; // CHECK-NEXT: ^~~~~~~~~{{$}} D<C<C<int>>> b; } template<int> int V; // Here, we split the >>= token into a > followed by a >=. // Then we split the >= token into a > followed by an =, // which we merge with the other = to form an ==. // CHECK: error: a space is required // CHECK-NEXT: int k = V<C<int>>==0; // CHECK-NEXT: ^~{{$}} // CHECK-NEXT: > >{{$}} // CHECK: error: a space is required // CHECK-NEXT: int k = V<C<int>>==0; // CHECK-NEXT: ^~{{$}} // CHECK-NEXT: > ={{$}} // CHECK: :{[[@LINE+3]]:11-[[@LINE+3]]:17}: error: // CHECK-NEXT: int k = V<C<int>>==0; // CHECK-NEXT: ^~~~~~{{$}} int k = V<C<int>>==0; template<typename> int W; // CHECK: :{[[@LINE+3]]:9-[[@LINE+3]]:18}{[[@LINE+3]]:20-[[@LINE+3]]:22}: error: comparison // CHECK-NEXT: int l = W<C<int>>==&k; // CHECK-NEXT: ~~~~~~~~~^ ~~{{$}} int l = W<C<int>>==&k;