Mercurial > hg > CbC > CbC_llvm
diff clang/test/AST/sourceranges.cpp @ 207:2e18cbf3894f
LLVM12
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 08 Jun 2021 06:07:14 +0900 |
parents | 1d019706d866 |
children | c4bab56944e8 |
line wrap: on
line diff
--- a/clang/test/AST/sourceranges.cpp Mon May 25 11:55:54 2020 +0900 +++ b/clang/test/AST/sourceranges.cpp Tue Jun 08 06:07:14 2021 +0900 @@ -108,6 +108,54 @@ } } +// CHECK-1Z: NamespaceDecl {{.*}} attributed_case +namespace attributed_case { +void f(int n) { + switch (n) { + case 0: + n--; + // CHECK: AttributedStmt {{.*}} <line:[[@LINE+2]]:5, line:[[@LINE+4]]:35> + // CHECK: FallThroughAttr {{.*}} <line:[[@LINE+1]]:20> + __attribute__((fallthrough)) + // CHECK: FallThroughAttr {{.*}} <line:[[@LINE+1]]:22> + __attribute__((fallthrough)); + case 1: + n++; + break; + } +} +} // namespace attributed_case + +// CHECK: NamespaceDecl {{.*}} attributed_stmt +namespace attributed_stmt { + // In DO_PRAGMA and _Pragma cases, `LoopHintAttr` comes from <scratch space> + // file. + + #define DO_PRAGMA(x) _Pragma (#x) + + void f() { + // CHECK: AttributedStmt {{.*}} <line:[[@LINE-3]]:24, line:[[@LINE+2]]:33> + DO_PRAGMA (unroll(2)) + for (int i = 0; i < 10; ++i); + + // CHECK: AttributedStmt {{.*}} <line:[[@LINE+2]]:5, line:[[@LINE+3]]:33> + // CHECK: LoopHintAttr {{.*}} <line:[[@LINE+1]]:13, col:22> + #pragma unroll(2) + for (int i = 0; i < 10; ++i); + + // CHECK: AttributedStmt {{.*}} <line:[[@LINE+2]]:5, line:[[@LINE+5]]:33> + // CHECK: LoopHintAttr {{.*}} <line:[[@LINE+1]]:19, col:41> + #pragma clang loop vectorize(enable) + // CHECK: LoopHintAttr {{.*}} <line:[[@LINE+1]]:19, col:42> + #pragma clang loop interleave(enable) + for (int i = 0; i < 10; ++i); + + // CHECK: AttributedStmt {{.*}} <line:[[@LINE+1]]:5, line:[[@LINE+2]]:33> + _Pragma("unroll(2)") + for (int i = 0; i < 10; ++i); + } +} + #if __cplusplus >= 201703L // CHECK-1Z: FunctionDecl {{.*}} construct_with_init_list std::map<int, int> construct_with_init_list() {