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