hanchenye-llvm-project/clang/test/SemaTemplate
Serge Pavlov a67a4d2f3c Make output of -ast-print a valid C++ code.
Output generated by option -ast-print looks like C/C++ code, and it
really is for plain C. For C++ the produced output was not valid C++
code, but the differences were small. With this change the output
is fixed and can be compiled. Tests are changed so that output produced
by -ast-print is compiled again with the same flags and both outputs are
compared.

Option -ast-print is extensively used in clang tests but it itself
was tested poorly, existing tests only checked that compiler did not
crash. There are unit tests in file DeclPrinterTest.cpp, but they test
only terse output mode.

Differential Revision: https://reviews.llvm.org/D26452

llvm-svn: 286439
2016-11-10 08:49:37 +00:00
..
ackermann.cpp
address-spaces.cpp
alias-church-numerals.cpp
alias-nested-nontag.cpp
alias-template-template-param.cpp
alias-templates.cpp Add optimization to sizeof...(X) handling: if none of parameter pack X's 2016-10-19 22:18:42 +00:00
alignas.cpp
ambiguous-ovl-print.cpp
anonymous-union.cpp
array-redeclaration.cpp [Sema] Don't diagnose an array type mismatch when the new or previous 2016-09-01 01:03:21 +00:00
array-to-pointer-decay.cpp
atomics.cpp
attributes.cpp
canonical-expr-type-0x.cpp
canonical-expr-type.cpp
class-template-ctor-initializer.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
class-template-decl.cpp Add a note that points to the linkage specifier for the C++ linkage errors 2016-11-02 15:46:34 +00:00
class-template-id-2.cpp
class-template-id.cpp PR10405 - Desugar FunctionType and TemplateSpecializationType if any type that appears inside needs to be desugared. 2015-07-16 01:06:17 +00:00
class-template-spec.cpp Lit C++11 Compatibility Patch #7 2016-04-13 20:00:45 +00:00
constexpr-instantiate.cpp
constructor-template.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
copy-ctor-assign.cpp
crash-8204126.cpp
crash-10438657.cpp
crash-unparsed-exception.cpp [SemaTemplate] Detect instantiation of unparsed exceptions. 2015-07-25 01:19:32 +00:00
crash.cpp
current-instantiation.cpp
cxx1z-decomposition.cpp P0217R3: template instantiation support for decomposition declarations. 2016-08-12 01:55:21 +00:00
cxx1z-fold-expressions.cpp Implement P0036R0: remove support for empty unary folds of +, *, |, &. 2016-03-04 21:27:21 +00:00
deduction-crash.cpp
deduction.cpp Fix bug where template argument deduction of a non-type template parameter used 2016-09-28 22:08:38 +00:00
default-arguments-cxx0x.cpp Fix assertion failure on MaybeODRUseExprs. 2016-02-24 23:05:43 +00:00
default-arguments.cpp Fix PR26134: When substituting into default template arguments, keep CurContext unchanged. 2016-01-19 03:58:55 +00:00
default-expr-arguments-2.cpp
default-expr-arguments.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
delegating-constructors.cpp
dependent-base-classes.cpp
dependent-base-member-init.cpp
dependent-class-member-operator.cpp
dependent-expr.cpp
dependent-names-no-std.cpp
dependent-names.cpp
dependent-sized_array.cpp
dependent-template-recover.cpp
dependent-type-identity.cpp Fix crash if StmtProfile finds a type-dependent member access for which we have 2016-10-24 18:47:04 +00:00
derived.cpp [Sema] Be consistent about diagnostic wording: always use "cannot". 2015-08-15 15:23:14 +00:00
destructor-template.cpp
elaborated-type-specifier.cpp
enum-argument.cpp
enum-bool.cpp
enum-forward.cpp
example-typelist.cpp
exception-spec-crash.cpp
explicit-instantiation.cpp
explicit-specialization-member.cpp
ext-vector-type.cpp
ext_ms_template_spec.cpp [MSVC] Explicit specializations can be declared in any namespace (fix for http://llvm.org/PR13738) 2015-03-20 07:21:46 +00:00
extension-sfinae.cpp
extern-templates.cpp Re-commit r270748 "clang-cl: Treat dllimport explicit template instantiation definitions as declarations (PR27810, PR27811)" 2016-05-26 19:42:56 +00:00
fibonacci.cpp
friend-template.cpp
friend.cpp Use the most recent previous decl to check if inline is added after a definition 2015-04-08 00:04:47 +00:00
fun-template-def.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
function-template-specialization-noreturn.cpp
function-template-specialization.cpp
implicit-instantiation-1.cpp
inject-templated-friend-post.cpp
inject-templated-friend.cpp
injected-class-name.cpp DR1909: Diagnose all invalid cases of a class member sharing its name with the class. 2015-07-06 01:45:27 +00:00
instantiate-anonymous-union.cpp
instantiate-array.cpp
instantiate-attr.cpp
instantiate-c99.cpp
instantiate-call.cpp
instantiate-case.cpp
instantiate-cast.cpp Lit C++11 Compatibility Patch #7 2016-04-13 20:00:45 +00:00
instantiate-clang.cpp
instantiate-complete.cpp
instantiate-decl-dtor.cpp
instantiate-decl-init.cpp
instantiate-declref-ice.cpp
instantiate-declref.cpp
instantiate-deeply.cpp
instantiate-default-assignment-operator.cpp
instantiate-dependent-nested-name.cpp
instantiate-elab-type-specifier.cpp
instantiate-enum-2.cpp
instantiate-enum.cpp
instantiate-exception-spec-cxx11.cpp DR1330: instantiate exception-specifications when "needed". We previously did 2016-10-18 23:39:12 +00:00
instantiate-exception-spec.cpp
instantiate-explicitly-after-fatal.cpp Fix crash-on-invalid bug in template instantiation. 2015-06-26 02:15:04 +00:00
instantiate-expr-1.cpp
instantiate-expr-2.cpp
instantiate-expr-3.cpp Support __builtin_ms_va_list. 2015-09-17 20:55:33 +00:00
instantiate-expr-4.cpp Lit C++11 Compatibility Patch #7 2016-04-13 20:00:45 +00:00
instantiate-expr-5.cpp
instantiate-expr-6.cpp Revert r107690 (for PR7417) and add a testcase that it breaks. The approach of 2015-10-05 20:05:21 +00:00
instantiate-expr-basic.cpp
instantiate-field.cpp
instantiate-friend-class.cpp
instantiate-function-1.cpp
instantiate-function-1.mm
instantiate-function-2.cpp [Lit Test] Updated 20 Lit tests to be C++11 compatible. 2015-12-10 01:07:17 +00:00
instantiate-function-params.cpp
instantiate-init.cpp
instantiate-invalid.cpp
instantiate-local-class.cpp Correctly type-check the default arguments of local functions 2015-12-11 01:56:36 +00:00
instantiate-member-class.cpp Lit C++11 Compatibility Patch #7 2016-04-13 20:00:45 +00:00
instantiate-member-expr.cpp
instantiate-member-initializers.cpp
instantiate-member-pointers.cpp
instantiate-member-template.cpp
instantiate-method.cpp
instantiate-non-dependent-types.cpp
instantiate-non-type-template-parameter.cpp
instantiate-objc-1.mm
instantiate-overload-candidates.cpp
instantiate-overloaded-arrow.cpp
instantiate-partial-spec.cpp
instantiate-scope.cpp
instantiate-self.cpp PR12298 et al: don't recursively instantiate a template specialization from 2016-08-31 02:15:21 +00:00
instantiate-sizeof.cpp Add missing triple to instantiate-sizeof.cpp test 2016-03-11 19:17:53 +00:00
instantiate-static-var.cpp [Lit Test] Updated 20 Lit tests to be C++11 compatible. 2015-12-10 01:07:17 +00:00
instantiate-subscript.cpp
instantiate-template-template-parm.cpp
instantiate-try-catch.cpp
instantiate-type.cpp
instantiate-typedef.cpp
instantiate-typeof.cpp
instantiate-using-decl.cpp Re-land r250592 without rejecting field refs in unevaluated contexts 2015-10-20 21:04:13 +00:00
instantiate-var-template.cpp PR24483: Delete some dead/incorrect code that triggered assertions. 2015-08-20 20:45:25 +00:00
instantiation-backtrace.cpp
instantiation-default-1.cpp
instantiation-default-2.cpp
instantiation-default-3.cpp
instantiation-depth-defarg.cpp
instantiation-depth-default.cpp Disable clang/test/SemaTemplate/instantiation-depth-default.cpp temporarily for targeting mingw32. It crashes. Investigating. 2016-08-30 15:38:18 +00:00
instantiation-depth-exception-spec.cpp PR12298 et al: don't recursively instantiate a template specialization from 2016-08-31 02:15:21 +00:00
instantiation-depth-subst-2.cpp
instantiation-depth-subst.cpp
instantiation-depth.cpp PR12298 et al: don't recursively instantiate a template specialization from 2016-08-31 02:15:21 +00:00
instantiation-order.cpp
issue150.cpp
lookup-dependent-bases.cpp
member-access-ambig.cpp
member-access-expr.cpp Lit C++11 Compatibility Patch #8 2016-04-14 23:47:07 +00:00
member-function-template.cpp
member-inclass-init-value-dependent.cpp
member-initializers.cpp
member-template-access-expr.cpp
metafun-apply.cpp
missing-class-keyword-crash.cpp
ms-class-specialization-class-scope.cpp
ms-class-specialization-duplicate.cpp
ms-delayed-default-template-args.cpp [ms] Allow more unqualified lookup of types in dependent base classes 2016-05-24 21:23:54 +00:00
ms-function-specialization-class-scope.cpp [-fms-extensions] Don't crash on explicit class-scope specializations & default arguments 2016-06-10 20:21:15 +00:00
ms-if-exists.cpp
ms-lookup-template-base-classes.cpp Revert accidential "[MSVC] Late parsing of in-class defined member functions in template" 2016-06-15 11:24:54 +00:00
ms-sizeof-missing-typename.cpp
nested-incomplete-class.cpp
nested-linkage.cpp
nested-name-spec-template.cpp [Lit Test] Updated 20 Lit tests to be C++11 compatible. 2015-12-10 01:07:17 +00:00
nested-template.cpp
operator-function-id-template.cpp
operator-template.cpp
overload-candidates.cpp [Lit Test] Updated 20 Lit tests to be C++11 compatible. 2015-12-10 01:07:17 +00:00
overload-uneval.cpp
overloaded-functions.cpp
pack-deduction.cpp
partial-spec-instantiate.cpp [Lit Test] Updated 20 Lit tests to be C++11 compatible. 2015-12-10 01:07:17 +00:00
pragma-ms_struct.cpp
qualified-id.cpp
qualified-names-diag.cpp [Lit Test] Updated 34 Lit tests to be C++11 compatible. 2015-11-17 20:25:05 +00:00
rdar9173693.cpp Revert "Improve declaration / expression disambiguation around ptr-operators, and use" 2015-02-23 22:36:28 +00:00
recovery-crash.cpp Lit C++11 Compatibility Patch #8 2016-04-14 23:47:07 +00:00
recursive-template-instantiation.cpp
resolve-single-template-id.cpp
self-comparison.cpp
temp.cpp
temp_arg.cpp
temp_arg_enum_printing.cpp Make output of -ast-print a valid C++ code. 2016-11-10 08:49:37 +00:00
temp_arg_nontype.cpp
temp_arg_nontype_cxx1z.cpp P0127R2: Support type deduction for types of non-type template parameters in 2016-09-28 23:55:27 +00:00
temp_arg_nontype_cxx11.cpp P0127R2: Support type deduction for types of non-type template parameters in 2016-09-28 23:55:27 +00:00
temp_arg_template.cpp Fix assert hit when tree-transforming template template parameter packs. 2016-01-11 11:39:00 +00:00
temp_arg_type.cpp Lit C++11 Compatibility Patch #8 2016-04-14 23:47:07 +00:00
temp_class_order.cpp
temp_class_spec.cpp
temp_class_spec_blocks.cpp
temp_class_spec_neg.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
temp_explicit.cpp DR259: Demote the pedantic error for an explicit instantiation after an 2016-08-31 23:23:25 +00:00
temp_explicit_cxx0x.cpp
temp_func_order.cpp
template-class-traits.cpp
template-decl-fail.cpp
template-id-expr.cpp Fix a crash on invalid with template handling 2016-04-05 21:13:54 +00:00
template-id-printing.cpp
typename-specifier-2.cpp
typename-specifier-3.cpp
typename-specifier-4.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
typename-specifier.cpp [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
typo-dependent-name.cpp
undefined-template.cpp Warn if function or variable cannot be implicitly instantiated 2016-04-19 06:19:52 +00:00
unresolved-construct.cpp
unused-variables.cpp
value-dependent-null-pointer-constant.cpp
virtual-member-functions.cpp