llvm-project/clang/test/PCH
Richard Smith 77e9e84a8e Don't mark a member as a member specialization until we know we're keeping the specialization.
This improves our behavior in a few ways:

 * We now guarantee that if a member is marked as being a member
   specialization, there will actually be a member specialization declaration
   somewhere on its redeclaration chain. This fixes a crash in modules builds
   where we would try to check that there was a visible declaration of the
   member specialization and be surprised to not find any declaration of it at
   all.

 * We don't set the source location of the in-class declaration of the member
   specialization to the out-of-line declaration's location until we have
   actually finished merging them. This fixes some very silly looking
   diagnostics, where we'd point a "previous declaration is here" note at the
   same declaration we're complaining about. Ideally we wouldn't mess with the
   prior declaration's location at all, but too much code assumes that the
   first declaration of an entity is a reasonable thing to use as an indication
   of where it was declared, and that's not really true for a member
   specialization unless we fake it like this.

llvm-svn: 302596
2017-05-09 23:02:10 +00:00
..
Inputs Support '#pragma once' in headers when using PCH 2016-07-25 17:17:06 +00:00
__va_list_tag-typedef.c [Clang][ARM] __va_list declaration is not saved in ASTContext causing compilation error or crash 2016-03-30 21:30:30 +00:00
__va_list_tag.c Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
arc.m Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
asm.c Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
asm.h
attrs-PR8406.c
attrs.c [GCC] PR23529 Mangler part of attrbute abi_tag support 2016-06-30 09:40:38 +00:00
badpch.c Avoid crashing if a directory has no pch files. 2013-07-28 13:23:37 +00:00
blocks.c
blocks.h
builtin-macro.c Don't assert when redefining a built-in macro in a PCH, PR29119 2016-12-09 17:32:52 +00:00
builtins.c
builtins.h
captured-stmt.cpp
case-insensitive-include.c Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths. 2016-06-13 20:40:21 +00:00
chain-categories.m Stop back-patching 'readonly' Objective-C properties with 'readwrite' ones. 2015-11-03 01:15:46 +00:00
chain-categories2.m
chain-class-extension.m
chain-conversion-lookup.cpp
chain-cxx.cpp
chain-decls.c
chain-default-argument-instantiation.cpp Only instantiate a default argument once. 2016-01-06 22:34:54 +00:00
chain-empty-initial-namespace.cpp
chain-ext_vector.c
chain-external-defs.c Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
chain-friend-instantiation.cpp
chain-implicit-definition.cpp
chain-invalid-code.cpp [PCH/preamble] Make sure that if the preamble/PCH was serialized with errors that we set diagnostic engine state appropriately. 2016-07-13 20:35:26 +00:00
chain-late-anonymous-namespace.cpp
chain-macro-override.c
chain-macro.c
chain-openmp-threadprivate.cpp [Cygwin] Enable TLS as emutls. 2015-12-21 02:37:23 +00:00
chain-pending-instantiations.cpp Switch to the new MingW ABI. 2013-12-12 16:07:11 +00:00
chain-predecl.h
chain-predecl.m
chain-remap-types.m
chain-selectors.m ObjectiveC. Improve on diagnostics per Jordan's feedback. 2014-01-15 00:59:25 +00:00
chain-staticvar-instantiation.cpp
chain-trivial.c Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
chain-typo-corrections.cpp Add the test case from PR 14044 to ensure it doesn't regress. 2015-05-08 17:39:48 +00:00
changed-files.c
check-deserializations.cpp Internal-linkage variables with constant-evaluatable initializers do not need to be emitted. (Also reduces the set of variables that need to be eagerly deserialized when using PCH / modules.) 2015-08-19 20:49:38 +00:00
cmdline-include.c
cmdline-include1.h
cmdline-include2.h
crash-12631281.cpp
cuda-kernel-call.cu Move all CUDA testing inputs to Inputs/ subdirectory inside the tests. 2014-04-28 22:21:28 +00:00
cxx-alias-decl.cpp
cxx-alias-decl.h
cxx-chain-function-template.cpp
cxx-char-literal.cpp Properly track that a character literal is UTF-8, and pretty print the prefix properly. 2016-01-07 20:59:26 +00:00
cxx-constexpr.cpp
cxx-dependent-sized-ext-vector.cpp [Serialization] Serialize DependentSizedExtVectorType 2017-03-22 10:04:48 +00:00
cxx-exprs.cpp
cxx-for-range.cpp
cxx-for-range.h
cxx-friends.cpp Lazily deserialize the "first' friend declaration when deserializing a class 2013-06-26 02:41:25 +00:00
cxx-friends.h Lazily deserialize the "first' friend declaration when deserializing a class 2013-06-26 02:41:25 +00:00
cxx-functions.cpp
cxx-functions.h
cxx-implicit-moves.cpp
cxx-key-functions.cpp Fix an iterator invalidation issue: deserializing a key function can write to 2014-07-07 06:38:20 +00:00
cxx-mangling.cpp Account for calling convention specifiers in function definitions in IR test cases 2015-06-29 17:29:50 +00:00
cxx-member-init.cpp
cxx-method.cpp
cxx-ms-function-specialization-class-scope.cpp Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
cxx-ms-function-specialization-class-scope.h
cxx-namespaces.cpp Modify behavior of -ast-dump-lookups: if -ast-dump is not also provided, dump 2014-08-11 22:11:07 +00:00
cxx-namespaces.h When setting the external visible declarations for a decl context, check 2013-06-24 01:46:41 +00:00
cxx-offsetof-base.cpp
cxx-offsetof-base.h
cxx-reference.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
cxx-reference.h
cxx-required-decls.cpp Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
cxx-required-decls.h
cxx-static_assert.cpp
cxx-templates.cpp Don't mark a member as a member specialization until we know we're keeping the specialization. 2017-05-09 23:02:10 +00:00
cxx-templates.h Don't mark a member as a member specialization until we know we're keeping the specialization. 2017-05-09 23:02:10 +00:00
cxx-trailing-return.cpp
cxx-traits.cpp [Sema] Add __is_aggregate type-trait 2017-04-12 22:12:15 +00:00
cxx-traits.h [Sema] Add __is_aggregate type-trait 2017-04-12 22:12:15 +00:00
cxx-typeid.cpp Default to use libc++ on OS X 10.9+ and iOS 7+. 2013-11-02 23:19:53 +00:00
cxx-typeid.h
cxx-using.cpp
cxx-using.h
cxx-variadic-templates-with-default-params.cpp PR25271: When attaching default template arguments to redeclarations of a 2016-02-04 22:54:41 +00:00
cxx-variadic-templates.cpp
cxx-variadic-templates.h
cxx0x-default-delete.cpp
cxx0x-delegating-ctors.cpp
cxx1y-decltype-auto.cpp
cxx1y-deduced-return-type.cpp
cxx1y-default-initializer.cpp PR29097: add an update record when we instantiate the default member 2016-08-24 21:25:37 +00:00
cxx1y-init-captures.cpp Per latest drafting, switch to implementing init-captures as if by declaring 2013-09-28 04:02:39 +00:00
cxx1y-lambdas.mm Run dos2unix on test/PCH/cxx1y-lambdas.mm 2015-04-01 20:21:34 +00:00
cxx1y-variable-templates.cpp [Sema] Emit a better diagnostic when variable redeclarations disagree 2015-07-14 20:08:49 +00:00
cxx1z-aligned-alloc.cpp P0035R4: add std::align_val_t overloads of operator new/delete in C++17 mode. 2016-09-29 22:49:46 +00:00
cxx1z-decomposition.cpp P0217R3: serialization/deserialization support for c++17 decomposition declarations. 2016-08-12 02:21:25 +00:00
cxx1z-init-statement.cpp P0305R0: Semantic analysis and code generation for C++17 init-statement for 'if' and 'switch': 2016-07-14 00:11:03 +00:00
cxx1z-init-statement.h P0305R0: Semantic analysis and code generation for C++17 init-statement for 'if' and 'switch': 2016-07-14 00:11:03 +00:00
cxx1z-using-declaration.cpp [c++1z] P0195R2: Support pack-expansion of using-declarations. 2016-12-20 21:35:28 +00:00
cxx11-constexpr.cpp
cxx11-enum-template.cpp
cxx11-exception-spec.cpp When the exception specification for a function in an imported PCH or module is 2014-03-20 21:47:22 +00:00
cxx11-inheriting-ctors.cpp P0136R1, DR1573, DR1645, DR1715, DR1736, DR1903, DR1941, DR1959, DR1991: 2016-06-28 19:03:57 +00:00
cxx11-lambdas.mm Lazily load the ContextDecl for a lambda's DefinitionData, to fix a 2016-08-25 00:34:00 +00:00
cxx11-statement-attributes.cpp P0188R1: add support for standard [[fallthrough]] attribute. This is almost 2016-03-08 00:32:55 +00:00
cxx11-user-defined-literals.cpp
cxx_exprs.cpp
cxx_exprs.h
datetime.c Don't use fprintf to emit this diagnostic! 2015-09-01 02:35:58 +00:00
debug-info-limited-struct.c Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
debug-info-limited-struct.h Test case for r18266 (serialization support for TagDecl:IsCompleteDefinitionRequired) 2013-07-15 21:33:26 +00:00
debug-info-pch-path.c Remove 24 instances of 'REQUIRES: shell' 2016-10-20 23:11:45 +00:00
decl-in-prototype.c Relax IRgen check in decl-in-prototype.c to match signext on PPC64 2016-12-09 17:56:04 +00:00
designated-init.c
designated-init.c.h Implementing C99 partial re-initialization behavior (DR-253) 2015-06-10 00:27:52 +00:00
different-diagnostic-level.c Revert r194097: "With this patch -Wwrite-strings is still implemented with the terrible 2014-02-07 08:33:28 +00:00
different-linker-version.c [PCH/Modules] Don't tie TargetOptions::LinkerVersion to a module/PCH, it's a driver only thing and doesn't affect any language/preprocessor/etc. semantics. 2014-04-29 18:45:01 +00:00
dllexport-default-arg-closure.cpp Add dllexport default ctor closure PCH regression test for PR31121 2016-11-23 18:33:54 +00:00
emit-dependencies.c Unbreak windows bot. 2017-03-29 17:58:41 +00:00
emit-pth.c Use raw_pwrite_stream in clang. 2015-04-14 15:15:49 +00:00
empty-def-fwd-struct.h [PCH] Avoid VarDecl emission attempt if no owning module avaiable 2017-03-01 19:18:42 +00:00
empty-with-headers.c
enum.c
enum.h
exprs.c
exprs.h Add the intrinsic __builtin_convertvector 2013-09-18 03:29:45 +00:00
ext_vector.c
ext_vector.h
external-defs.c Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
external-defs.h
field-designator.c Remove duplicated -cc1 in tests 2013-12-08 18:06:52 +00:00
floating-literal.c Explicitly permit undefined behavior in constant initializers for global 2015-12-08 03:21:47 +00:00
format-strings.c
friend-template.cpp
functions.c
functions.h
fuzzy-pch.c
fuzzy-pch.h
headermap.h
headermap.m
headersearch.cpp Try to unbreak the Windows buildbots. 2015-03-03 23:36:57 +00:00
implicitly-deleted.cpp PR22405: don't lose implicit-deleted-ness across AST write / read. 2015-02-06 23:20:21 +00:00
include-timestamp.cpp The test added in r275267 does not work on read-only checkouts because of the use of touch -m -t. 2016-07-14 13:58:27 +00:00
irgen-rdar13114142.mm Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
line-directive.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
line-directive.h
local_static.cpp Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
local_static.h Fix PCH deserialization bug with local static symbols being treated as local extern. 2014-02-11 06:29:29 +00:00
macro-redef.c
macro-undef.cpp [Test] Make Lit tests C++11 compatible - misc 2017-02-17 19:36:19 +00:00
make-integer-seq.cpp [Sema] Implement __make_integer_seq 2015-11-04 03:40:30 +00:00
method-redecls.m
method_pool.h
method_pool.m
missing-file.cpp Exclude PCH/missing-file.cpp on Windows, it does not pass reliably 2016-02-16 19:16:28 +00:00
modified-header-crash.c
modified-header-crash.h
modified-header-error.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
modified-module-dependency.m Commit some test changes somehow missed in r239789. 2015-06-16 00:19:29 +00:00
modified-module-dependency.module.map Improve the error message when a PCH dependency is modified 2014-01-17 00:19:09 +00:00
module-hash-difference.m Commit some test changes somehow missed in r239789. 2015-06-16 00:19:29 +00:00
ms-if-exists.cpp
multiple-include-pch.c
multiple_decls.c
multiple_decls.h
namespaces.cpp
no-validate-pch.cl Do not validate pch when -fno-validate-pch is set 2016-09-07 18:40:20 +00:00
nonvisible-external-defs.c
nonvisible-external-defs.h
objc_boxable.m Add missing files for objc_boxable feature. 2015-07-23 14:45:41 +00:00
objc_boxable_record.h Add missing files for objc_boxable feature. 2015-07-23 14:45:41 +00:00
objc_boxable_record_attr.h Add missing files for objc_boxable feature. 2015-07-23 14:45:41 +00:00
objc_container.h
objc_container.m Cleanup the handling of noinline function attributes, -fno-inline, 2016-12-23 01:24:49 +00:00
objc_exprs.h
objc_exprs.m
objc_import.h
objc_import.m
objc_kindof.m Implement the Objective-C __kindof type qualifier. 2015-07-07 03:58:42 +00:00
objc_literals.m Account for calling convention specifiers in function definitions in IR test cases 2015-06-29 17:29:50 +00:00
objc_literals.mm Account for calling convention specifiers in function definitions in IR test cases 2015-06-29 17:29:50 +00:00
objc_methods.h
objc_methods.m
objc_parameterized_classes.m Implement variance for Objective-C type parameters. 2015-07-07 03:58:54 +00:00
objc_property.h
objc_property.m
objc_stmts.h
objc_stmts.m
objcxx-ivar-class.h
objcxx-ivar-class.mm Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
ocl_types.cl Fix a lit test issue exposed by r290056 2016-12-18 07:26:01 +00:00
ocl_types.h [OpenCL] Correct ndrange_t implementation 2017-02-16 12:27:47 +00:00
opencl-extensions.cl [OpenCL] Add supported OpenCL extensions to target info. 2016-05-16 17:06:34 +00:00
pch-dir.c Fix crash on invalid if we can't find a suitable PCH file in a specified 2015-09-04 21:44:32 +00:00
pch-dir.h
pch__VA_ARGS__.c
pch__VA_ARGS__.h
pchpch.c Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
pchpch1.h
pchpch2.h
pending-ids.m Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
pr4489.c Removing an XFAIL which shouldn't apply. We no longer care about MSVC 9, and this test probably should not have been XFAILed everywhere regardless. The test passes on Windows with MSVC 12. 2014-05-19 17:58:28 +00:00
pr18806.cpp Fix PR18806: Canonicalize the replacement type when deserializing a SubstTemplateTypeParmType 2014-03-15 10:23:27 +00:00
pr27445.cpp Fix a bug involving deferred decl emission and PCH 2016-04-22 18:46:33 +00:00
pragma-comment.c CodeGen: support linker options on Windows ARM 2016-06-23 13:45:33 +00:00
pragma-cuda-force-host-device.cu [CUDA] Rework tests now that we emit deferred diagnostics during sema. Test-only change. 2016-10-19 00:06:49 +00:00
pragma-detect_mismatch.c CodeGen: support linker options on Windows ARM 2016-06-23 13:45:33 +00:00
pragma-diag-section.cpp Change the other -Wtautological-compare warnings to not trigger in template 2013-11-02 02:11:23 +00:00
pragma-diag.c
pragma-loop.cpp Add loop pragma for Loop Distribution 2016-06-14 12:04:26 +00:00
pragma-ms_struct.cpp Serialize `pragma ms_struct` state. 2016-03-02 23:22:00 +00:00
pragma-once.c Support '#pragma once' in headers when using PCH 2016-07-25 17:17:06 +00:00
pragma-optimize.c [TEST] Improve tests for #pragma clang optimize off/on 2014-07-28 14:33:17 +00:00
pragma-pack.c [Modules][PCH] Serialize #pragma pack 2017-03-31 15:36:21 +00:00
pragma-pointers_to_members.cpp Serialize `pragma pointers_to_members` state. 2016-03-03 00:17:35 +00:00
pragma-weak.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
pragma-weak.h
preamble.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
pth.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
pth.h
rdar8852495.c
rdar10830559.cpp Adds Microsoft compatiable C++ record layout code to clang. 2013-10-11 20:19:00 +00:00
reinclude.cpp
reinclude1.h
reinclude2.h
reloc.c Re-apply "test: Use add_lit_testsuites so that subsets of tests can be specified" 2016-07-05 17:54:40 +00:00
remap-file-from-pch.cpp Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
remap-file-from-pch.cpp.h
remap-file-from-pch.cpp.remap.h
replaced-decl.m
selector-warning.h
selector-warning.m
single-token-macro.c Do not warn on keyword undef 2014-12-12 06:37:55 +00:00
source-manager-stack.c
stmt-attrs.cpp Prune CRLF. 2014-10-27 12:37:26 +00:00
stmts.c
stmts.h
struct.c
struct.h
subscripting-literals.m Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
target-options.c Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
target-options.h
tentative-defs.c Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
tentative-defs.h
thread-local.cpp Revert "Revert r241620 and follow-up commits" and move the initialization 2015-07-08 01:00:30 +00:00
thread-safety-attrs.cpp Updating the capability attribute diagnostics to be more capability-neutral. Instead of using terminology such as "lock", "unlock" and "locked", the new terminology is "acquire", "release" and "held". Additionally, the capability attribute's name argument is now reported as part of the diagnostic, instead of hard coding as "mutex." 2014-04-01 21:43:23 +00:00
type_pack_element.cpp [Feature] Add a builtin for indexing into parameter packs. Patch by Louis Dionne. 2016-07-01 01:24:09 +00:00
types.c
types.h
typo.cpp
typo.m
typo2.cpp
undefined-internal.c
uses-seh.cpp Serialize the UsesSEH bit on FunctionDecl 2017-01-10 21:27:03 +00:00
uuidof.cpp Fix serialization/deserialization for __uuidof 2016-03-28 03:19:50 +00:00
va_arg.c Support __builtin_ms_va_list. 2015-09-17 20:55:33 +00:00
va_arg.cpp Support __builtin_ms_va_list. 2015-09-17 20:55:33 +00:00
va_arg.h Support __builtin_ms_va_list. 2015-09-17 20:55:33 +00:00
variables.c
variables.h
verify_pch.m test: Disable standard system includes in %clang_cc1 2014-10-03 22:18:49 +00:00
working-directory.cpp
working-directory.h