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