Author: ahatanak
Date: Fri Dec 16 14:25:11 2016
New Revision: 289986
URL: http://llvm.org/viewvc/llvm-project?rev=289986&view=rev
Log:
Remove the temporary fix to the RUN line that was committed in r289924.
Also, dump the AST and run FileCheck to make sure the expected nodes are
created in the AST.
Modified:
cfe/trunk/test/SemaTemplate/default-expr-arguments-3.cpp
Modified: cfe/trunk/test/SemaTemplate/default-expr-arguments-3.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaTemplate/default-expr-arguments-3.cpp?rev=289986&r1=289985&r2=289986&view=diff
==============================================================================
--- cfe/trunk/test/SemaTemplate/default-expr-arguments-3.cpp (original)
+++ cfe/trunk/test/SemaTemplate/default-expr-arguments-3.cpp Fri Dec 16
14:25:11 2016
@@ -1,10 +1,12 @@
-// FIXME: Remove the next line after a bit; this test used to
-// write a .ll file and that confuses the bots. The next line
-// cleans that up.
-// RUN: rm -f %S/default-expr-arguments-3.ll
-// RUN: %clang_cc1 -std=c++14 -verify %s
+// RUN: %clang_cc1 -std=c++14 -verify -ast-dump %s | FileCheck %s
// expected-no-diagnostics
+// CHECK: FunctionDecl {{.*}} used func 'void (void)'
+// CHECK-NEXT: TemplateArgument type 'int'
+// CHECK: LambdaExpr {{.*}} 'class (lambda at
+// CHECK: ParmVarDecl {{.*}} used f 'enum foo' cinit
+// CHECK-NEXT: DeclRefExpr {{.*}} 'enum foo' EnumConstant {{.*}} 'a' 'enum foo'
+
namespace PR28795 {
template<typename T>
void func() {
@@ -18,6 +20,12 @@ namespace PR28795 {
}
}
+// CHECK: ClassTemplateSpecializationDecl {{.*}} struct class2 definition
+// CHECK-NEXT: TemplateArgument type 'int'
+// CHECK: LambdaExpr {{.*}} 'class (lambda at
+// CHECK: ParmVarDecl {{.*}} used f 'enum foo' cinit
+// CHECK-NEXT: DeclRefExpr {{.*}} 'enum foo' EnumConstant {{.*}} 'a' 'enum foo'
+
// Template struct case:
template <class T> struct class2 {
void bar() {
@@ -28,6 +36,14 @@ template <class T> struct class2 {
template struct class2<int>;
+// CHECK: FunctionTemplateDecl {{.*}} f1
+// CHECK-NEXT: TemplateTypeParmDecl {{.*}} typename T
+// CHECK-NEXT: FunctionDecl {{.*}} f1 'void (void)'
+// CHECK: FunctionDecl {{.*}} f1 'void (void)'
+// CHECK-NEXT: TemplateArgument type 'int'
+// CHECK: ParmVarDecl {{.*}} n 'enum foo' cinit
+// CHECK-NEXT: DeclRefExpr {{.*}} 'enum foo' EnumConstant {{.*}} 'a' 'enum foo'
+
template<typename T>
void f1() {
enum class foo { a, b };
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits