annotate clang/test/SemaTemplate/default-expr-arguments-2.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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: %clang_cc1 -ast-dump %s 2>&1 | FileCheck %s
anatofuz
parents:
diff changeset
2
anatofuz
parents:
diff changeset
3 // This is a wacky test to ensure that we're actually instantiating
anatofuz
parents:
diff changeset
4 // the default arguments of the constructor when the function type is
anatofuz
parents:
diff changeset
5 // otherwise non-dependent.
anatofuz
parents:
diff changeset
6 namespace PR6733 {
anatofuz
parents:
diff changeset
7 template <class T>
anatofuz
parents:
diff changeset
8 class bar {
anatofuz
parents:
diff changeset
9 public: enum { kSomeConst = 128 };
anatofuz
parents:
diff changeset
10 bar(int x = kSomeConst) {}
anatofuz
parents:
diff changeset
11 };
anatofuz
parents:
diff changeset
12
anatofuz
parents:
diff changeset
13 // CHECK: FunctionDecl{{.*}}f 'void ()'
anatofuz
parents:
diff changeset
14 void f() {
anatofuz
parents:
diff changeset
15 // CHECK: VarDecl{{.*}}tmp 'bar<int>'
anatofuz
parents:
diff changeset
16 // CHECK: CXXDefaultArgExpr{{.*}}'int'
anatofuz
parents:
diff changeset
17 bar<int> tmp;
anatofuz
parents:
diff changeset
18 }
anatofuz
parents:
diff changeset
19 }