llvm-project/clang/test/PCH
Douglas Gregor cb28f9d7ad Rework the (de-)serialization of macros, as stored in
MacroInfo*. Instead of simply dumping an offset into the current file,
give each macro definition a proper ID with all of the standard
modules-remapping facilities. Additionally, when a macro is modified
in a subsequent AST file (e.g., #undef'ing a macro loaded from another
module or from a precompiled header), provide a macro update record
rather than rewriting the entire macro definition. This gives us
greater consistency with the way we handle declarations, and ties
together macro definitions much more cleanly.

Note that we're still not actually deserializing macro history (we
never were), but it's far easy to do properly now.

llvm-svn: 165560
2012-10-09 23:05:51 +00:00
..
Inputs Rework the (de-)serialization of macros, as stored in 2012-10-09 23:05:51 +00:00
badpch-dir.h.gch Add the PCH file name to the message about not being able to read the PCH. 2012-06-20 00:36:03 +00:00
libroot/usr/include
__va_list_tag.c PR13189: va_list broken with precompiled headers 2012-07-01 15:57:25 +00:00
arc.m Make -fobjc-nonfragile-abi the -cc1 default, since it's the 2011-10-02 01:16:38 +00:00
asm.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
asm.h
attrs-PR8406.c Read/write declaration attributes from/to PCH properly. Embed them in the declaration block instead of trying to create another block. 2010-10-18 19:20:11 +00:00
attrs.c Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
badpch-empty.h.gch Add the PCH file name to the message about not being able to read the PCH. 2012-06-20 00:36:03 +00:00
badpch.c Add the PCH file name to the message about not being able to read the PCH. 2012-06-20 00:36:03 +00:00
blocks.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
blocks.h
builtins.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
builtins.h
chain-categories.m Support importing of ObjC categories from modules. 2011-09-01 00:58:55 +00:00
chain-categories2.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
chain-class-extension.m [PCH] When we are replacing a decl in a chained PCH that is also a DeclContext, 2012-03-22 16:08:04 +00:00
chain-conversion-lookup.cpp Change the hashing function for DeclContext lookup within an AST file 2011-08-02 18:32:54 +00:00
chain-cxx.cpp C++ constant expression handling: eagerly instantiate static const integral data 2011-12-21 00:25:33 +00:00
chain-decls.c Eliminate the -chained-pch flag and all of the frontend and libclang options associated with it. Chained PCH is the only way to build a PCH file that includes another PCH file 2011-08-25 22:54:01 +00:00
chain-empty-initial-namespace.cpp On reading DeclContexts from PCH, check for visible updates even if the context was empty in the original version. Also, if there are any, tell the context that it has external visible decls. This fixes the problem that a namespace that was empty in the initial PCH (could also happen if the initial PCH didn't include any std header but caused implicit creation of namespace std, e.g. due to implicit declaration of a virtual destructor) never found any declaration declared in *any* chained PCH. Very ugly when the chained PCH includes all that std stuff, as the errors were effectively the same as not including std headers. 2011-04-24 16:27:54 +00:00
chain-ext_vector.c Eliminate the -chained-pch flag and all of the frontend and libclang options associated with it. Chained PCH is the only way to build a PCH file that includes another PCH file 2011-08-25 22:54:01 +00:00
chain-external-defs.c Eliminate the -chained-pch flag and all of the frontend and libclang options associated with it. Chained PCH is the only way to build a PCH file that includes another PCH file 2011-08-25 22:54:01 +00:00
chain-friend-instantiation.cpp Remove a bogus assertion from the AST reader, which assumed that 2011-08-25 15:28:26 +00:00
chain-implicit-definition.cpp Use -emit-llvm-only as suggested by Argyrios. 2011-04-29 08:19:03 +00:00
chain-late-anonymous-namespace.cpp Set the correct anonymous namespace (must be last reopening), and behave correctly in the presence of the ever-annoying linkage specifications. 2011-04-24 16:28:21 +00:00
chain-macro-override.c Rework the (de-)serialization of macros, as stored in 2012-10-09 23:05:51 +00:00
chain-macro.c Eliminate the -chained-pch flag and all of the frontend and libclang options associated with it. Chained PCH is the only way to build a PCH file that includes another PCH file 2011-08-25 22:54:01 +00:00
chain-pending-instantiations.cpp Store the full list of pending instantiations in a chained PCH. Previously we attempted to store only new pending instantiations, but our filter was incorrect, dropping implicit instantiations of class template members. It's just not worth coming up with a complex filter that is correct, when the only cost is PCH files that are a few hundred bytes (at most) larger. 2011-04-24 16:27:30 +00:00
chain-predecl.h Instead of modifying the ObjC AST to not modify existing declarations, teach chained PCH to overwrite declarations from earlier PCH files in dependent ones. Tell Sema to note when it changes AST nodes so that they have to be reserialized. Finally, the ObjCProtocolDecls created in forward decls, like the ObjCInterfaceDecls in @class forward decls, are not lexically part of the decl context; only the definition is. 2010-08-13 00:28:03 +00:00
chain-predecl.m Eliminate the -chained-pch flag and all of the frontend and libclang options associated with it. Chained PCH is the only way to build a PCH file that includes another PCH file 2011-08-25 22:54:01 +00:00
chain-remap-types.m Refactoring, mostly to give ObjCPropertyDecls stronger invariants for 2011-09-13 18:31:23 +00:00
chain-selectors.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
chain-staticvar-instantiation.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
chain-trivial.c Explicitly build __builtin_va_list. 2012-06-16 03:34:49 +00:00
changed-files.c Use Daniel's trick for XFAIL'd tests 2010-03-25 16:40:13 +00:00
check-deserializations.cpp Store in PCH the key function of C++ class to avoid deserializing the complete declaration context in order to compute it. 2010-10-14 20:14:38 +00:00
cmdline-include.c Add test case I forgot for r115159 (support implicit includes along with PCH). 2010-10-01 00:00:18 +00:00
cmdline-include1.h Add test case I forgot for r115159 (support implicit includes along with PCH). 2010-10-01 00:00:18 +00:00
cmdline-include2.h Add test case I forgot for r115159 (support implicit includes along with PCH). 2010-10-01 00:00:18 +00:00
cocoa.m [PCH] Include a darwin-only PCH test on Cocoa.h. 2012-02-28 23:39:20 +00:00
cuda-kernel-call.cu Parse: add support for parsing CUDA kernel calls 2011-02-09 21:12:02 +00:00
cxx-alias-decl.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
cxx-alias-decl.h Implement support for C++0x alias templates. 2011-05-05 21:57:07 +00:00
cxx-chain-function-template.cpp Chained PCH: Remember when additional specializations are added to a function template from a previous PCH. Fixes the only crasher when using massive chains on Clang's Sema component. We still have some incomplete codegen there. 2011-04-14 14:07:59 +00:00
cxx-constexpr.cpp constexpr handling improvements. Produce detailed diagnostics when a 'constexpr' 2011-12-19 06:19:21 +00:00
cxx-exprs.cpp Deserialize the direct-initialization range of a "new" expression 2012-02-20 16:12:14 +00:00
cxx-for-range.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
cxx-for-range.h Add support for C++0x's range-based for loops, as specified by the C++11 draft standard (N3291). 2011-04-14 22:09:26 +00:00
cxx-friends.cpp PR12585: When processing a friend template inside a class template, don't 2012-04-22 02:13:50 +00:00
cxx-friends.h PR12585: When processing a friend template inside a class template, don't 2012-04-22 02:13:50 +00:00
cxx-functions.cpp Eliminate obvious use-after-free. Fixes PR12433 / <rdar://problem/11168333>. 2012-04-04 00:34:49 +00:00
cxx-functions.h Eliminate obvious use-after-free. Fixes PR12433 / <rdar://problem/11168333>. 2012-04-04 00:34:49 +00:00
cxx-implicit-moves.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
cxx-member-init.cpp PR13064: Store whether an in-class initializer uses direct or copy 2012-06-10 03:12:00 +00:00
cxx-method.cpp When writing out the entries in a lookup table for a DeclContext, make 2011-08-30 20:49:19 +00:00
cxx-ms-function-specialization-class-scope.cpp Add serialization support for ClassScopeFunctionSpecializationDecl. 2011-08-17 01:06:54 +00:00
cxx-ms-function-specialization-class-scope.h Add serialization support for ClassScopeFunctionSpecializationDecl. 2011-08-17 01:06:54 +00:00
cxx-namespaces.cpp When setting the anonymous namespace at PCH reading, it may still be initializing so avoid 2010-07-03 07:57:53 +00:00
cxx-namespaces.h When setting the anonymous namespace at PCH reading, it may still be initializing so avoid 2010-07-03 07:57:53 +00:00
cxx-offsetof-base.cpp Implement PCH support for offsetof(base-specifier). 2010-07-29 18:16:10 +00:00
cxx-offsetof-base.h Implement PCH support for offsetof(base-specifier). 2010-07-29 18:16:10 +00:00
cxx-reference.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
cxx-reference.h Fix AST serialization of reference-to-reference types. This previously caused 2011-04-12 10:38:03 +00:00
cxx-required-decls.cpp Make sure C++ variable definitions are actually passed to the consumer when loaded from PCH. 2010-08-05 09:47:59 +00:00
cxx-required-decls.h Make sure C++ variable definitions are actually passed to the consumer when loaded from PCH. 2010-08-05 09:47:59 +00:00
cxx-static_assert.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
cxx-templates.cpp PR13811: Add a FunctionParmPackExpr node to handle references to function 2012-09-12 00:56:43 +00:00
cxx-templates.h PR13811: Add a FunctionParmPackExpr node to handle references to function 2012-09-12 00:56:43 +00:00
cxx-trailing-return.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
cxx-traits.cpp Implement a new type trait __is_trivially_constructible(T, Args...) 2012-02-24 07:38:34 +00:00
cxx-traits.h Implement a new type trait __is_trivially_constructible(T, Args...) 2012-02-24 07:38:34 +00:00
cxx-typeid.cpp Rolling this change back because the fix doesn't fit the symptoms (even if it solves them). 2012-07-18 22:38:11 +00:00
cxx-typeid.h Read/write in PCH Sema's StdNamespace and StdBadAlloc and use a LazyDeclPtr for them that will deserialize them when needed. 2010-08-02 07:14:54 +00:00
cxx-using.cpp Support PCH emitting/reading of using declarations. 2010-06-20 14:40:59 +00:00
cxx-using.h Support PCH emitting/reading of using declarations. 2010-06-20 14:40:59 +00:00
cxx-variadic-templates.cpp PR9023: A template template parameter whose template parameter list contains an 2012-09-07 02:06:42 +00:00
cxx-variadic-templates.h PR9023: A template template parameter whose template parameter list contains an 2012-09-07 02:06:42 +00:00
cxx0x-default-delete.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
cxx0x-delegating-ctors.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
cxx11-constexpr.cpp Serialize the 'IsConstexpr' bit of VarDecls. Fixes <rdar://problem/12328814>. 2012-09-20 23:43:29 +00:00
cxx11-enum-template.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
cxx11-exception-spec.cpp Fix serialization of uninstantiated exception specifications. Patch by Li Kan, 2012-04-21 17:47:47 +00:00
cxx11-lambdas.mm Generate an AST for the conversion from a lambda closure type to a 2012-02-22 05:02:47 +00:00
cxx11-statement-attributes.cpp Added a test for C++11 statement attributes serialization. 2012-10-02 23:11:53 +00:00
cxx11-user-defined-literals.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
cxx_exprs.cpp Fix abbreviation for CharacterLiteral in AST serialization. PR13806. 2012-09-14 00:51:36 +00:00
cxx_exprs.h Fix abbreviation for CharacterLiteral in AST serialization. PR13806. 2012-09-14 00:51:36 +00:00
designated-init.c [PCH] When serializing Stmts, keep track of when sub statements are referenced again and 2011-10-21 23:02:28 +00:00
designated-init.c.h [PCH] When serializing Stmts, keep track of when sub statements are referenced again and 2011-10-21 23:02:28 +00:00
empty-with-headers.c Add pedantic warning -Wempty-translation-unit (C11 6.9p1). 2012-06-06 17:25:21 +00:00
enum.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
enum.h
exprs.c C1X: implement generic selections 2011-04-15 00:35:48 +00:00
exprs.h Improve some of the conversion warnings to fire on conversion to bool. 2012-05-15 16:56:36 +00:00
ext_vector.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
ext_vector.h
external-defs.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
external-defs.h
field-designator.c [PCH] When loading fields from external storage make sure to also 2012-09-10 22:04:22 +00:00
format-strings.c The Lexer constructor expects a source location at the start of the 2012-05-11 21:39:18 +00:00
functions.c Fix an inconsistency in Sema::ConvertArgumentsForCall in that 2011-07-29 00:24:42 +00:00
functions.h Whenever we complain about a failed initialization of a function or 2010-04-22 00:20:18 +00:00
fuzzy-pch.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
fuzzy-pch.h
headermap.h Fix header-search problems with precompiled headers, where the 2010-03-16 16:35:32 +00:00
headermap.m Fix header-search problems with precompiled headers, where the 2010-03-16 16:35:32 +00:00
headersearch.cpp test/PCH/headersearch.cpp: Tweak for Windows hosts especially cygming. 2011-03-06 20:44:33 +00:00
line-directive.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
line-directive.h
method-redecls.m [PCH] Fix the test. 2011-11-12 21:07:54 +00:00
method_pool.h
method_pool.m Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
missing-file.cpp clang/test/PCH/missing-file.cpp: Try to suppress accidental false on Windows. 2012-09-12 10:38:08 +00:00
modified-header-crash.c Because of r130359 this test no longer fail on Windows. 2011-04-28 02:01:57 +00:00
modified-header-crash.h Fix a crash when ASTReader emits diagnostic when another one is in flight. Fixes rdar//9334563. 2011-04-25 22:23:56 +00:00
modified-header-error.c Disable on Windows, for real. 2011-10-26 14:35:30 +00:00
ms-if-exists.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
multiple_decls.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
multiple_decls.h
namespaces.cpp Serialize the "inline" bit for namespaces. Fixes <rdar://problem/8515069>. 2010-10-05 20:41:58 +00:00
nonvisible-external-defs.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
nonvisible-external-defs.h
objc_container.h Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, 2012-03-06 20:05:56 +00:00
objc_container.m Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, 2012-03-06 20:05:56 +00:00
objc_exprs.h [PCH] When serializing an PseudoObjectExpr or AtomicExpr, the serialization code must be set 2011-11-15 06:20:27 +00:00
objc_exprs.m objective-c++: Type of an objc string literal is NSString, not 'id'. 2012-02-23 22:51:36 +00:00
objc_import.h
objc_import.m Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
objc_literals.m Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, 2012-03-06 20:05:56 +00:00
objc_literals.mm Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, 2012-03-06 20:05:56 +00:00
objc_methods.h [PCH] Really, pinky swear, fix for PR12689 2012-05-04 01:49:36 +00:00
objc_methods.m Turn -Wobjc-root-class on by default. <rdar://problem/11203649>. 2012-07-25 07:26:32 +00:00
objc_property.h
objc_property.m Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
objc_stmts.h Improve the AST representation of Objective-C @try/@catch/@finally 2010-04-23 22:50:49 +00:00
objc_stmts.m test/PCH/objc_stmts.m: Suppress stderr to be fed to FileCheck. 2012-07-25 11:14:11 +00:00
objcxx-ivar-class.h The emission of an Objective-C++'s class .cxx_destruct method should be 2011-03-22 07:05:39 +00:00
objcxx-ivar-class.mm Start fixing up clang tests to work on the clang-native-arm-cortex-a9 builder. 2011-06-06 21:23:05 +00:00
opencl-extensions.cl Serialization/deserialization support for floating point #pragma 2011-02-15 19:46:30 +00:00
pch__VA_ARGS__.c Patch for handling C99 veriadic macros when using precompiled headers, 2012-06-29 18:27:59 +00:00
pch__VA_ARGS__.h Patch for handling C99 veriadic macros when using precompiled headers, 2012-06-29 18:27:59 +00:00
pchpch.c Make PCHReader cope with PCH files containing more than one predefines buffer. 2010-07-14 17:49:11 +00:00
pchpch1.h Make PCHReader cope with PCH files containing more than one predefines buffer. 2010-07-14 17:49:11 +00:00
pchpch2.h Make PCHReader cope with PCH files containing more than one predefines buffer. 2010-07-14 17:49:11 +00:00
pending-ids.m [PCH] In ASTReader::FinishedDeserializing, after we do PassInterestingDeclsToConsumer 2011-11-30 23:18:26 +00:00
pr4489.c Forcibly disable test/PCH/pr4489.c, it is flaky on one of the buildbots. 2010-04-09 15:30:57 +00:00
pragma-diag-section.cpp Diagnose uninitialized uses of a variable within its own initializer. 2011-03-27 09:46:56 +00:00
pragma-diag.c Diagnose uninitialized uses of a variable within its own initializer. 2011-03-27 09:46:56 +00:00
pragma-weak.c Support #pragma weak for PCH. 2010-08-05 09:48:08 +00:00
pragma-weak.h Support #pragma weak for PCH. 2010-08-05 09:48:08 +00:00
preamble.c [libclang] When getting a source location from a file:line:col triplet 2011-09-19 20:40:35 +00:00
preprocess.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
preprocess.h
pth.c Add PTH test case for <rdar://problem/8227989>. 2010-07-27 23:06:03 +00:00
pth.h Add PTH test case for <rdar://problem/8227989>. 2010-07-27 23:06:03 +00:00
rdar8852495.c Diagnose uninitialized uses of a variable within its own initializer. 2011-03-27 09:46:56 +00:00
rdar10830559.cpp [PCH] Add a PCH test. 2012-02-09 18:31:19 +00:00
reinclude.cpp Revamp the SourceManager to separate the representation of parsed 2011-07-19 16:10:42 +00:00
reinclude1.h Implement AST/PCH chaining support for macro definitions. Previously, 2011-02-11 00:26:14 +00:00
reinclude2.h Fix an issue with writing to PCH another included PCH, introduced by the "using an AST on-disk hash table for name lookup" commit. 2010-08-20 23:35:55 +00:00
reloc.c rename -ccc-host-triple into -target 2012-01-20 22:01:23 +00:00
remap-file-from-pch.cpp test/PCH/remap-file-from-pch.cpp: Fix expression for DOS pathsep. 2012-05-04 03:42:28 +00:00
remap-file-from-pch.cpp.h [PCH] When validating that the files coming from PCH did not change, also 2012-05-03 21:50:39 +00:00
remap-file-from-pch.cpp.remap.h [PCH] When validating that the files coming from PCH did not change, also 2012-05-03 21:50:39 +00:00
replaced-decl.m Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
selector-warning.h Test for selector-warning PCH patch. 2010-07-23 20:32:57 +00:00
selector-warning.m Test for selector-warning PCH patch. 2010-07-23 20:32:57 +00:00
single-token-macro.c [PCH] Remove extraneous line in the test that was mistakenly copied. 2011-12-17 08:11:28 +00:00
source-manager-stack.c Flip the default for showing include stacks on notes to false. This 2011-03-27 20:00:08 +00:00
stmts.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
stmts.h
struct.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
struct.h
subscripting-literals.m Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, 2012-03-06 20:05:56 +00:00
tentative-defs.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
tentative-defs.h
types.c Add a simple PCH test for _Atomic. 2011-10-07 20:08:35 +00:00
types.h Add a simple PCH test for _Atomic. 2011-10-07 20:08:35 +00:00
typo.cpp Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
typo.m When performing typo correction, look through the set of known 2010-10-14 22:11:03 +00:00
typo2.cpp Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
va_arg.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
va_arg.cpp Register the __builtin_va_list_type node when we parse it, rather than 2010-10-05 14:55:45 +00:00
va_arg.h
variables.c Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
variables.h Make the Preprocessor more memory efficient and improve macro instantiation diagnostics. 2011-07-07 03:40:34 +00:00
working-directory.cpp When writing file references in a pch, make sure to ask the file manager for the absolute path. 2011-03-08 16:04:35 +00:00
working-directory.h When writing file references in a pch, make sure to ask the file manager for the absolute path. 2011-03-08 16:04:35 +00:00