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