mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-22 21:15:40 -04:00

Summary: Compound literals, enums, file-scoped arrays, etc. require their initializers and size specifiers to be constant. Wrap the initializer expressions in a ConstantExpr so that we can easily check for this later on. Reviewers: rsmith, shafik Reviewed By: rsmith Subscribers: cfe-commits, jyknight, nickdesaulniers Differential Revision: https://reviews.llvm.org/D53921 llvm-svn: 346455
58 lines
1.4 KiB
C++
58 lines
1.4 KiB
C++
// RUN: clang-import-test -dump-ast -import %S/Inputs/F.cpp -expression %s | FileCheck %s
|
|
|
|
// CHECK: SwitchStmt
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: CompoundStmt
|
|
// CHECK-NEXT: CaseStmt
|
|
// CHECK-NEXT: ConstantExpr
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: CaseStmt
|
|
// CHECK-NEXT: ConstantExpr
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: BreakStmt
|
|
// CHECK-NEXT: CaseStmt
|
|
// CHECK-NEXT: ConstantExpr
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: ConstantExpr
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: CaseStmt
|
|
// CHECK-NEXT: ConstantExpr
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: ConstantExpr
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: BreakStmt
|
|
|
|
// CHECK: SwitchStmt
|
|
// CHECK-NEXT: DeclStmt
|
|
// CHECK-NEXT: VarDecl
|
|
// CHECK-SAME: varname
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: CompoundStmt
|
|
// CHECK-NEXT: CaseStmt
|
|
// CHECK-NEXT: ConstantExpr
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: BreakStmt
|
|
// CHECK-NEXT: CaseStmt
|
|
// CHECK-NEXT: ConstantExpr
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: BreakStmt
|
|
// CHECK-NEXT: CaseStmt
|
|
// CHECK-NEXT: ConstantExpr
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: ConstantExpr
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: BreakStmt
|
|
|
|
// CHECK: SwitchStmt
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: DefaultStmt
|
|
// CHECK-NEXT: BreakStmt
|
|
|
|
// CHECK: SwitchStmt
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-NEXT: NullStmt
|
|
|
|
void expr() {
|
|
f();
|
|
}
|