hanchenye-llvm-project/clang/test/SemaTemplate
David Majnemer ee4f4025c3 Sema: Implement DR317
Summary:
Declaring a function as inline after it has been defined is in violation
of [dcl.fct.spec]p4.  The program would get a strong definition instead
of getting a function with linkonce_odr linkage.

Reviewers: rsmith

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D3220

llvm-svn: 205129
2014-03-30 06:44:54 +00:00
..
ackermann.cpp
address-spaces.cpp
alias-church-numerals.cpp
alias-nested-nontag.cpp PR17567: Improve diagnostic for a mistyped constructor name. If we see something 2013-10-15 00:00:26 +00:00
alias-template-template-param.cpp
alias-templates.cpp Fix for dependent contexts in alias templates. 2013-08-15 23:59:20 +00:00
alignas.cpp
ambiguous-ovl-print.cpp
anonymous-union.cpp
array-to-pointer-decay.cpp [analyzer] Fix a crash that occurs when processing an rvalue array. 2013-06-06 00:19:36 +00:00
atomics.cpp
attributes.cpp There is no such thing as __attribute__((align)); that's a __declspec attribute. Fixing these test cases to use the proper spelling for their syntax. 2014-01-13 21:30:03 +00:00
canonical-expr-type-0x.cpp
canonical-expr-type.cpp Sema: Do not merge new decls with invalid, old decls 2013-07-07 23:49:50 +00:00
class-template-ctor-initializer.cpp
class-template-decl.cpp Sema: Reject templates in all extern "C" contexts. 2014-02-02 16:35:43 +00:00
class-template-id-2.cpp
class-template-id.cpp
class-template-spec.cpp PR16519, PR18009: When checking a partial specialization for uses of its own 2014-02-09 00:54:43 +00:00
constexpr-instantiate.cpp sizeof(void) etc. should be a hard error in C++. 2013-08-13 22:26:42 +00:00
constructor-template.cpp
copy-ctor-assign.cpp
crash-8204126.cpp
crash-10438657.cpp
current-instantiation.cpp
deduction-crash.cpp Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
deduction.cpp
default-arguments-cxx0x.cpp Sema: Subst type default template args earlier 2013-08-28 23:48:32 +00:00
default-arguments.cpp Sema: Subst type default template args earlier 2013-08-28 23:48:32 +00:00
default-expr-arguments-2.cpp
default-expr-arguments.cpp
delegating-constructors.cpp
dependent-base-classes.cpp
dependent-base-member-init.cpp
dependent-class-member-operator.cpp
dependent-expr.cpp PR18152: When computing the semantic form for an initializer list, keep track 2013-12-06 01:27:24 +00:00
dependent-names-no-std.cpp
dependent-names.cpp Revert "Don't require -re suffix on -verify directives with regexes." 2013-12-14 01:07:05 +00:00
dependent-sized_array.cpp
dependent-template-recover.cpp
dependent-type-identity.cpp PR18275: If a member function of a class template is declared with a 2014-03-13 00:28:45 +00:00
derived.cpp [test] Add test case for rdar://14183893. 2013-06-28 23:47:22 +00:00
destructor-template.cpp Correctly profile CXXPseudoDestructorExprs. 2013-08-09 23:37:05 +00:00
elaborated-type-specifier.cpp
enum-argument.cpp
enum-forward.cpp
example-typelist.cpp
exception-spec-crash.cpp Fix missed exception spec checks and crashes 2013-10-18 05:54:19 +00:00
explicit-instantiation.cpp Revert "Don't require -re suffix on -verify directives with regexes." 2013-12-14 01:07:05 +00:00
explicit-specialization-member.cpp PR18246: When performing template argument deduction to decide which template 2013-12-14 03:18:05 +00:00
ext-vector-type.cpp
extension-sfinae.cpp Extra test for r194444. 2013-11-12 02:42:08 +00:00
extern-templates.cpp
fibonacci.cpp
friend-template.cpp Issue a diagnostic if we see a templated friend declaration that we do not 2013-11-08 18:59:56 +00:00
friend.cpp
fun-template-def.cpp Fold together the two implementations of 6.7.3p2 in SemaType. Fix two bugs, each of which was only present in one version: 2013-03-28 00:03:10 +00:00
function-template-specialization-noreturn.cpp Ignore noreturn when checking function template specializations 2013-09-10 22:21:37 +00:00
function-template-specialization.cpp FIXME fix: improving diagnostics for template arguments deduction of class templates and explicit specializations 2013-07-19 23:00:19 +00:00
implicit-instantiation-1.cpp
inject-templated-friend-post.cpp Sema: Implement DR317 2014-03-30 06:44:54 +00:00
inject-templated-friend.cpp Sema: Implement DR317 2014-03-30 06:44:54 +00:00
injected-class-name.cpp
instantiate-anonymous-union.cpp
instantiate-array.cpp
instantiate-attr.cpp
instantiate-c99.cpp
instantiate-call.cpp
instantiate-case.cpp
instantiate-cast.cpp
instantiate-clang.cpp
instantiate-complete.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
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 Do not add enums to prototype scope in C++ modes. 2014-02-22 03:05:49 +00:00
instantiate-exception-spec-cxx11.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
instantiate-exception-spec.cpp Use the appropriate SourceLocation for the template backtrace when doing 2014-01-11 02:37:12 +00:00
instantiate-expr-1.cpp
instantiate-expr-2.cpp
instantiate-expr-3.cpp
instantiate-expr-4.cpp
instantiate-expr-5.cpp Fix crash-on-invalid: only use TransformAddressOfOperand when transforming the 2013-05-21 23:29:46 +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 [Sema] Don't look for the instantiation of a local extern decl in a different 2013-11-27 08:34:14 +00:00
instantiate-function-params.cpp Use the appropriate SourceLocation for the template backtrace when doing 2014-01-11 02:37:12 +00:00
instantiate-init.cpp Properly track l-paren of a CXXFucntionalCastExpr. 2013-08-15 22:02:56 +00:00
instantiate-invalid.cpp
instantiate-local-class.cpp Sema: Don't crash when trying to instantiate a local class with an invalid base specifier 2014-02-22 00:17:46 +00:00
instantiate-member-class.cpp Implement DR85: Redeclaration of member is forbidden 2013-06-11 03:51:23 +00:00
instantiate-member-expr.cpp
instantiate-member-initializers.cpp
instantiate-member-pointers.cpp Sema: Enforce C++11 pointer-to-member template arguments should rules 2013-12-10 00:40:58 +00:00
instantiate-member-template.cpp
instantiate-method.cpp Revert "Don't require -re suffix on -verify directives with regexes." 2013-12-14 01:07:05 +00:00
instantiate-non-dependent-types.cpp
instantiate-non-type-template-parameter.cpp
instantiate-objc-1.mm
instantiate-overload-candidates.cpp Implement DR61: Address of ambiguous bound methods should be disallowed 2013-06-11 03:56:29 +00:00
instantiate-overloaded-arrow.cpp
instantiate-partial-spec.cpp If a partial specialization of a member template is declared within a class 2013-09-26 03:49:48 +00:00
instantiate-self.cpp
instantiate-sizeof.cpp
instantiate-static-var.cpp
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 Fix name lookup with dependent using decls. 2013-08-20 00:39:40 +00:00
instantiate-var-template.cpp PR17846, PR17848: don't build a VarTemplateSpecializationDecl for a use of a 2014-02-03 20:09:56 +00:00
instantiation-backtrace.cpp Use the appropriate SourceLocation for the template backtrace when doing 2014-01-11 02:37:12 +00:00
instantiation-default-1.cpp
instantiation-default-2.cpp
instantiation-default-3.cpp
instantiation-depth-defarg.cpp
instantiation-depth-exception-spec.cpp
instantiation-depth-subst-2.cpp Use the appropriate SourceLocation for the template backtrace when doing 2014-01-11 02:37:12 +00:00
instantiation-depth-subst.cpp Use the appropriate SourceLocation for the template backtrace when doing 2014-01-11 02:37:12 +00:00
instantiation-depth.cpp
instantiation-order.cpp Use the appropriate SourceLocation for the template backtrace when doing 2014-01-11 02:37:12 +00:00
issue150.cpp
lookup-dependent-bases.cpp Use -fms-compatibility to trigger lookup into dep. bases 2013-09-20 17:04:25 +00:00
member-access-ambig.cpp
member-access-expr.cpp
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 PR18232: implement instantiation for class-scope explicit specializations of 2013-12-14 01:04:22 +00:00
ms-function-specialization-class-scope.cpp Add a testcase and a FIXME for an accepts-invalid. 2013-12-13 22:28:48 +00:00
ms-if-exists.cpp Normalize line endings 2014-03-02 18:46:05 +00:00
ms-lookup-template-base-classes.cpp -fms-compatibility: Only form implicit member exprs for unqualified ids 2014-03-25 20:31:28 +00:00
nested-incomplete-class.cpp
nested-linkage.cpp
nested-name-spec-template.cpp
nested-template.cpp Add test. 2013-06-20 20:56:57 +00:00
operator-function-id-template.cpp
operator-template.cpp Use the appropriate SourceLocation for the template backtrace when doing 2014-01-11 02:37:12 +00:00
overload-candidates.cpp Part of PR15673: If a function template has a default argument in which 2013-07-04 01:01:24 +00:00
overload-uneval.cpp
partial-spec-instantiate.cpp
pragma-ms_struct.cpp
qualified-id.cpp
qualified-names-diag.cpp
rdar9173693.cpp
recovery-crash.cpp Fix to PR16225 (Assert-on-invalid: isa<LabelDecl>(D) && "declaration not instantiated in this scope") 2013-08-10 12:00:21 +00:00
recursive-template-instantiation.cpp
resolve-single-template-id.cpp Move the warning about unused relational comparison from -Wunused-value to 2014-03-11 03:11:08 +00:00
self-comparison.cpp
temp.cpp
temp_arg.cpp
temp_arg_nontype.cpp Revert "Don't require -re suffix on -verify directives with regexes." 2013-12-14 01:07:05 +00:00
temp_arg_nontype_cxx11.cpp
temp_arg_template.cpp Richard makes a good point, clean up this test. 2013-08-28 05:45:53 +00:00
temp_arg_type.cpp
temp_class_order.cpp
temp_class_spec.cpp
temp_class_spec_blocks.cpp
temp_class_spec_neg.cpp
temp_explicit.cpp
temp_explicit_cxx0x.cpp
temp_func_order.cpp
template-class-traits.cpp
template-decl-fail.cpp
template-id-expr.cpp
template-id-printing.cpp
typename-specifier-2.cpp
typename-specifier-3.cpp
typename-specifier-4.cpp
typename-specifier.cpp Revert "Don't require -re suffix on -verify directives with regexes." 2013-12-14 01:07:05 +00:00
typo-dependent-name.cpp
unresolved-construct.cpp
unused-variables.cpp
value-dependent-null-pointer-constant.cpp
virtual-member-functions.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00