1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -ast-dump %s 2>&1 | FileCheck %s 2*f4a2713aSLionel Sambuc 3*f4a2713aSLionel Sambuc // This is a wacky test to ensure that we're actually instantiating 4*f4a2713aSLionel Sambuc // the default arguments of the constructor when the function type is 5*f4a2713aSLionel Sambuc // otherwise non-dependent. 6*f4a2713aSLionel Sambuc namespace PR6733 { 7*f4a2713aSLionel Sambuc template <class T> 8*f4a2713aSLionel Sambuc class bar { 9*f4a2713aSLionel Sambuc public: enum { kSomeConst = 128 }; bar(int x=kSomeConst)10*f4a2713aSLionel Sambuc bar(int x = kSomeConst) {} 11*f4a2713aSLionel Sambuc }; 12*f4a2713aSLionel Sambuc 13*f4a2713aSLionel Sambuc // CHECK: FunctionDecl{{.*}}f 'void (void)' f()14*f4a2713aSLionel Sambuc void f() { 15*f4a2713aSLionel Sambuc // CHECK: VarDecl{{.*}}tmp 'bar<int>' 16*f4a2713aSLionel Sambuc // CHECK: CXXDefaultArgExpr{{.*}}'int' 17*f4a2713aSLionel Sambuc bar<int> tmp; 18*f4a2713aSLionel Sambuc } 19*f4a2713aSLionel Sambuc } 20