blob: 037949455f53676b78a9bd9867fb01014ef5ff92 [file] [log] [blame]
Douglas Gregorcb27b0f2010-04-12 07:48:19 +00001// RUN: %clang_cc1 -ast-dump %s 2>&1 | FileCheck %s
2
3// This is a wacky test to ensure that we're actually instantiating
Douglas Gregorc6cb2b02010-09-11 17:51:16 +00004// the default arguments of the constructor when the function type is
Douglas Gregorcb27b0f2010-04-12 07:48:19 +00005// otherwise non-dependent.
6namespace PR6733 {
7 template <class T>
8 class bar {
9 public: enum { kSomeConst = 128 };
10 bar(int x = kSomeConst) {}
11 };
12
Alexander Kornienkod538ed92012-12-20 02:09:13 +000013 // CHECK: FunctionDecl{{.*}}f 'void (void)'
Douglas Gregorcb27b0f2010-04-12 07:48:19 +000014 void f() {
Alexander Kornienkod538ed92012-12-20 02:09:13 +000015 // CHECK: VarDecl{{.*}}tmp 'bar<int>'
Douglas Gregorcb27b0f2010-04-12 07:48:19 +000016 // CHECK: CXXDefaultArgExpr{{.*}}'int'
17 bar<int> tmp;
18 }
19}