hanchenye-llvm-project/clang/test/PCH
Richard Smith c67fdd4eb9 AST representation for user-defined literals, plus just enough of semantic
analysis to make the AST representation testable. They are represented by a
new UserDefinedLiteral AST node, which is a sugared CallExpr. All semantic
properties, including full CodeGen support, are achieved for free by this
representation.

UserDefinedLiterals can never be dependent, so no custom instantiation
behavior is required. They are mangled as if they were direct calls to the
underlying literal operator. This matches g++'s apparent behavior (but not its
actual mangling, which is broken for literal-operator-ids).

User-defined *string* literals are now fully-operational, but the semantic
analysis is quite hacky and needs more work. No other forms of user-defined
literal are created yet, but the AST support for them is present.

This patch committed after midnight because we had already hit the quota for
new kinds of literal yesterday.

llvm-svn: 152211
2012-03-07 08:35:16 +00:00
..
Inputs objc-arc: bridge casts in non-arc mode are now 2011-12-19 22:52:53 +00:00
libroot/usr/include
arc.m Make -fobjc-nonfragile-abi the -cc1 default, since it's the 2011-10-02 01:16:38 +00:00
asm.c
asm.h
attrs-PR8406.c
attrs.c
blocks.c
blocks.h
builtins.c
builtins.h
chain-categories.m Support importing of ObjC categories from modules. 2011-09-01 00:58:55 +00:00
chain-categories2.m [PCH] Do not crash if a class extension in a chained PCH introduces/redeclares a property. 2011-11-14 04:52:29 +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 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-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
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 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-trivial.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
changed-files.c
check-deserializations.cpp
cmdline-include.c
cmdline-include1.h
cmdline-include2.h
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
cxx-friends.h
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 Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +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
cxx-namespaces.h
cxx-offsetof-base.cpp
cxx-offsetof-base.h
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
cxx-required-decls.h
cxx-static_assert.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-templates.cpp When serializing a DeclRefExpr, always store the number of explicit template 2011-03-06 18:19:42 +00:00
cxx-templates.h When we're deserializing a template parameter declaration, temporarily 2011-03-05 01:35:54 +00:00
cxx-trailing-return.cpp Track whether a function type has a trailing return type as type sugar. Use this 2012-02-10 09:58:53 +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
cxx-typeid.h
cxx-using.cpp
cxx-using.h
cxx-variadic-templates.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-variadic-templates.h Fix a thinko where I didn't update a consistency check for 2011-02-01 15:24:58 +00:00
cxx0x-default-delete.cpp Teach CXXRecordDecl::hasIrrelevantDestructor to check the base classes and 2012-02-25 07:33:38 +00:00
cxx0x-delegating-ctors.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
cxx11-constexpr.cpp Teach CXXRecordDecl::hasIrrelevantDestructor to check the base classes and 2012-02-25 07:33:38 +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-user-defined-literals.cpp AST representation for user-defined literals, plus just enough of semantic 2012-03-07 08:35:16 +00:00
cxx_exprs.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_exprs.h
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
enum.c
enum.h
exprs.c C1X: implement generic selections 2011-04-15 00:35:48 +00:00
exprs.h C1X: implement generic selections 2011-04-15 00:35:48 +00:00
ext_vector.c
ext_vector.h
external-defs.c
external-defs.h
functions.c Fix an inconsistency in Sema::ConvertArgumentsForCall in that 2011-07-29 00:24:42 +00:00
functions.h
fuzzy-pch.c
fuzzy-pch.h
headermap.h
headermap.m
headersearch.cpp test/PCH/headersearch.cpp: Tweak for Windows hosts especially cygming. 2011-03-06 20:44:33 +00:00
line-directive.c
line-directive.h
method-redecls.m [PCH] Fix the test. 2011-11-12 21:07:54 +00:00
method_pool.h
method_pool.m
missing-file.cpp Remove unnecessary RUN: directive. 2011-02-03 14:05:55 +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 Implement support for dependent Microsoft __if_exists/__if_not_exists 2011-10-25 01:33:02 +00:00
multiple_decls.c
multiple_decls.h
namespaces.cpp
nonvisible-external-defs.c
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
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 Implement the Objective-C 'instancetype' type, which is an alias of 2011-09-08 01:46:34 +00:00
objc_methods.m Implement the Objective-C 'instancetype' type, which is an alias of 2011-09-08 01:46:34 +00:00
objc_property.h
objc_property.m
objc_stmts.h
objc_stmts.m Make clang -cc1 disable Objective-C exceptions by default, and add a -fobjc-exceptions flag to turn them on. 2011-02-22 01:52:06 +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
pchpch.c
pchpch1.h
pchpch2.h
pending-ids.m [PCH] In ASTReader::FinishedDeserializing, after we do PassInterestingDeclsToConsumer 2011-11-30 23:18:26 +00:00
pr4489.c
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
pragma-weak.h
preamble.c [libclang] When getting a source location from a file:line:col triplet 2011-09-19 20:40:35 +00:00
preprocess.c
preprocess.h
pth.c
pth.h
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
reloc.c rename -ccc-host-triple into -target 2012-01-20 22:01:23 +00:00
replaced-decl.m [PCH] Now that we store the location of a decl outside its record 2011-10-31 07:20:15 +00:00
selector-warning.h
selector-warning.m
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
stmts.h
struct.c
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
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
va_arg.c
va_arg.cpp
va_arg.h
variables.c Make the Preprocessor more memory efficient and improve macro instantiation diagnostics. 2011-07-07 03:40:34 +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