6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
hain-selectors2.h
uda.h
|
f98c688968777214bfff7a6cc9bbd4ff78e9c1d3 |
30-May-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
Objective-C: Implements gcc's -Wselector option which diagnoses type mismatches of identical selectors declared in classes throughout. // rdar://14007194 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182964 91177308-0d34-0410-b5e6-96231b3b80d8
hain-selectors2.h
|
acf796b4797c5b3e9e237148fa622afdc04b3eff |
28-Nov-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Store on the CXXRecordDecl whether the class has, or would have, a copy constructor/assignment operator with a const-qualified parameter type. The prior method for determining this incorrectly used overload resolution. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168775 91177308-0d34-0410-b5e6-96231b3b80d8
xx-method.h
|
4182ed686283b72736b287cbe28583cb641f8934 |
31-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] Remove the stat cache from the PCH file. The stat cache became essentially useless ever since we started validating all file entries in the PCH. But the motivating reason for removing it now is that it also affected correctness in this situation: -You have a header without include guards (using "#pragma once" or #import) -When creating the PCH: -The same header is referenced in an #include with different filename cases. -In the PCH, of course, we record only one file entry for the header file -But we cache in the PCH file the stat info for both filename cases -Then the source files are updated and the header file is updated in a way that its size and modification time are the same but its inode changes -When using the PCH: -We validate the headers, we check that header file and we create a file entry with its current inode -There's another #include with a filename with different case than the previously created file entry -In order to get its stat info we go through the cached stat info of the PCH and we receive the old inode -because of the different inodes, we think they are different files so we go ahead and include its contents. Removing the stat cache will potentially break clients that are attempting to use the stat cache as a way of avoiding having the actual input files available. If that use case is important, patches are welcome to bring it back in a way that will actually work correctly (i.e., emit a PCH that is self-contained, coping with literal strings, line/column computations, etc.). This fixes rdar://5502805 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167172 91177308-0d34-0410-b5e6-96231b3b80d8
ase-insensitive-include.h
|
ebcb468a75b36ee5d132a942caa9a27fe0839e3b |
25-Oct-2012 |
Kaelyn Uhrain <rikka@google.com> |
Move the input files for test/PCH/badpch.c under test/PCH/Inputs/. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166711 91177308-0d34-0410-b5e6-96231b3b80d8
adpch-dir.h.gch/.keep
adpch-empty.h.gch
|
a8235d6c4093cd38dcf742909651f867de62e55b |
10-Oct-2012 |
Douglas Gregor <dgregor@apple.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165560 91177308-0d34-0410-b5e6-96231b3b80d8
hain-macro-override1.h
hain-macro-override2.h
|
7c83896fc0e5d93fb83240220c995f85595e6196 |
03-Oct-2012 |
Alexander Kornienko <alexfh@google.com> |
Added a test for C++11 statement attributes serialization. Summary: Uses [[clang::fallthrough]] attribute in a template function, and -Wimplicit-fallthrough to check the attribute presence in an instantiation. Reviewers: rsmith Reviewed By: rsmith CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D55 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165068 91177308-0d34-0410-b5e6-96231b3b80d8
xx11-statement-attributes.h
|
fb40e3f10ccef93c4f8fb6bd4fe5a108fa6cd369 |
01-Jul-2012 |
Meador Inge <meadori@codesourcery.com> |
PR13189: va_list broken with precompiled headers For some targets a structure named __va_list_tag is built to help define the __builtin_va_list type. However, __va_list_tag was not being treated as a predefined type thus causing problems when serializing the AST. This commit fixes that oversight by adding the necessary support to treat __va_list_tag as a predefined type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159508 91177308-0d34-0410-b5e6-96231b3b80d8
_va_list_tag.h
|
e2eb0e997320c629b2762b56b911bff43187acaa |
19-Dec-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-arc: bridge casts in non-arc mode are now error. // rdar://10597832 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146918 91177308-0d34-0410-b5e6-96231b3b80d8
rc.h
|
e5a54b600f74dcb6cca27543df2757115711d80a |
30-Aug-2011 |
Douglas Gregor <dgregor@apple.com> |
When writing out the entries in a lookup table for a DeclContext, make sure that all of the CXXConversionDecls go into the same bucket. Otherwise, name lookup might not find them all. Fixes <rdar://problem/10041960>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138824 91177308-0d34-0410-b5e6-96231b3b80d8
xx-method.h
|
d8bba9c15230d2b1b3893e272106aa79efc50251 |
28-Jun-2011 |
Douglas Gregor <dgregor@apple.com> |
Add support for C++ namespace-aware typo correction, e.g., correcting vector<int> to std::vector<int> Patch by Kaelyn Uhrain, with minor tweaks + PCH support from me. Fixes PR5776/<rdar://problem/8652971>. Thanks Kaelyn! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134007 91177308-0d34-0410-b5e6-96231b3b80d8
ypo.hpp
|
f85e193739c953358c865005855253af4f68a497 |
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
Automatic Reference Counting. Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions. Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
rc.h
|
2c10c8072cabeb22651462e435e8b81f3221b6a5 |
08-Mar-2011 |
Anders Carlsson <andersca@mac.com> |
When writing file references in a pch, make sure to ask the file manager for the absolute path. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127248 91177308-0d34-0410-b5e6-96231b3b80d8
orking-directory-1.h
|
220a9c82dc76a83a7f930879bf176783866c0514 |
19-Oct-2010 |
Andrew Trick <atrick@apple.com> |
Putting back safe fixes 116836,116837,116838 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116866 91177308-0d34-0410-b5e6-96231b3b80d8
hain-cxx1.h
hain-cxx2.h
|
7cffb55ef5845f86b41b83c332e4b453ee4dcb16 |
19-Oct-2010 |
Andrew Trick <atrick@apple.com> |
Reverting 116836,116837,116838 until we resolve the getLangStandardForKind failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116859 91177308-0d34-0410-b5e6-96231b3b80d8
hain-cxx1.h
hain-cxx2.h
|
1d2a4311da8b332fd309992c1a426420722e4ac5 |
19-Oct-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Merge headers into test/PCH/chain-cxx.cpp for convenience. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116836 91177308-0d34-0410-b5e6-96231b3b80d8
hain-cxx1.h
hain-cxx2.h
|
95f4292cc526c629fead321c7fcfd4fe0f3bc66e |
15-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
When performing typo correction, look through the set of known identifiers to determine good typo-correction candidates. Once we've identified those candidates, we perform name lookup on each of them and the consider the results. This optimization makes typo correction > 2x faster on a benchmark example using a single typo (NSstring) in a tiny file that includes Cocoa.h from a precompiled header, since we are deserializing far less information now during typo correction. There is a semantic change here, which is interesting. The presence of a similarly-named entity that is not visible can now affect typo correction. This is both good (you won't get weird corrections if the thing you wanted isn't in scope) and bad (you won't get good corrections if there is a similarly-named-but-completely-unrelated thing). Time will tell whether it was a good choice or not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116528 91177308-0d34-0410-b5e6-96231b3b80d8
ypo.h
|
0a0c3e72ce42f84f361c285e6963d44213ab6bea |
05-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Serialize the "inline" bit for namespaces. Fixes <rdar://problem/8515069>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115667 91177308-0d34-0410-b5e6-96231b3b80d8
amespaces.h
|
97475834207bf5abb5b58534f783c9b71d4b9df1 |
05-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix a marvelous chained AST writing bug, where we end up with the following amusing sequence: - AST writing schedules writing a type X* that it had never seen before - AST writing starts writing another declaration, ends up deserializing X* from a prior AST file. Now we have two type IDs for the same type! - AST writer tries to write X*. It only has the lower-numbered ID from the the prior AST file, so references to the higher-numbered ID that was scheduled for writing go off into lalaland. To fix this, keep the higher-numbered ID so we end up writing the type twice. Since this issue occurs so rarely, and type records are generally rather small, I deemed this better than the alternative: to keep a separate mapping from the higher-numbered IDs to the lower-numbered IDs, which we would end up having to check whenever we want to deserialize any type. Fixes <rdar://problem/8511624>, I think. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115647 91177308-0d34-0410-b5e6-96231b3b80d8
hain-remap-types1.h
hain-remap-types2.h
|
6309737da76f583f217c393dc8008f193e196975 |
05-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Register the __builtin_va_list_type node when we parse it, rather than waiting until we think we need it: we didn't catch all of the places where we actually needed it, and we probably wouldn't ever. Fixes a C++ PCH crasher. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115617 91177308-0d34-0410-b5e6-96231b3b80d8
a_arg.h
|
5e9888c2786bfffa6879a08ff40f5a11545eec23 |
02-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
When we insert a category (or class extension) into an interface, mark the interface as having changed since it was originally serialized. This ensures that we see class extensions/categories in chained PCH files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115421 91177308-0d34-0410-b5e6-96231b3b80d8
hain-selectors1.h
hain-selectors2.h
|
ee9b0ba29094eb177a285e726ab96e979e5b9c61 |
01-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
When an identifier that has a macro definition in the original PCH file is somehow changed in a chained PCH file, make sure that we write out the macro definition. Fixes part of <rdar://problem/8499034>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115259 91177308-0d34-0410-b5e6-96231b3b80d8
hain-macro-override1.h
hain-macro-override2.h
|
4153a060f4cd03e9db1349328a158e9d898a2610 |
25-Aug-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
AST writer support for having specializations of templates from earlier in the chain. This ought to finish C++ chained PCH support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111986 91177308-0d34-0410-b5e6-96231b3b80d8
hain-cxx1.h
hain-cxx2.h
|
5967d6228f183a5fa384f2f1918df679ed2d8666 |
24-Aug-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Add testcase for C++ chained PCH and fix the bugs it uncovered in name lookup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111882 91177308-0d34-0410-b5e6-96231b3b80d8
hain-cxx1.h
hain-cxx2.h
|
a68340fd55e177a5849cb3adbf66aedce1f6e91b |
05-Aug-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Activate selectors in chained PCH. Chained PCH now works for Objective-C. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110262 91177308-0d34-0410-b5e6-96231b3b80d8
hain-selectors1.h
hain-selectors2.h
|
d8c5abb096a5f6babb3709180fe304be5462bcc1 |
02-Aug-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Query only the latest version of an identifier in the PCH chain. Make sure this version holds the entire declaration chain. This is a much saner solution than trying to merge the info from all elements, and makes redeclarations work properly. Expand the declarations test case to cover more compliated cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110052 91177308-0d34-0410-b5e6-96231b3b80d8
hain-decls1.h
hain-decls2.h
|
1450ef99896d66ba67e2ddd2798a29be1bf560b8 |
30-Jul-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Correctly deal with using names for both functions and structs in chained PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109871 91177308-0d34-0410-b5e6-96231b3b80d8
hain-decls1.h
hain-decls2.h
hain-function1.h
hain-function2.h
|
ffaab3e2bb13991bb3357e80f14bcae3745b2347 |
30-Jul-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Make macro weirdness in chained PCH work. This required changing the way PCHReader and PCHWriter are initialized to correctly pick up all initializer. On the upside, this means that there is far less repetition in the dependent PCH now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109823 91177308-0d34-0410-b5e6-96231b3b80d8
hain-macro-override1.h
hain-macro-override2.h
|
a9f2368a4016901b5e2ed109b1eead2835ca8242 |
28-Jul-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Support extended vector types in chained PCH. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109675 91177308-0d34-0410-b5e6-96231b3b80d8
hain-ext_vector1.h
hain-ext_vector2.h
|
b86238d2f0a93ce91717906f9211927f48a7121a |
28-Jul-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Add a test case for tentative definitions in chained PCH. Fix a bug that completely messed up source locations and thus caused a crash whenever a diagnostic was emitted in chained PCH files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109660 91177308-0d34-0410-b5e6-96231b3b80d8
hain-external-defs1.h
hain-external-defs2.h
|
083abdf67f157e9d2ab5a8c9d5e71240479d3c99 |
28-Jul-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Record macros in dependent PCHs. Also add various info tables to dependent PCHs; tests for this to follow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109554 91177308-0d34-0410-b5e6-96231b3b80d8
hain-macro1.h
hain-macro2.h
|
f4f6c9db68465b886ec2e596feaa6ecc782395a4 |
26-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce basic support for loading a precompiled preamble while reparsing an ASTUnit. When saving a preamble, create a buffer larger than the actual file we're working with but fill everything from the end of the preamble to the end of the file with spaces (so the lexer will quickly skip them). When we load the file, create a buffer of the same size, filling it with the file and then spaces. Then, instruct the lexer to start lexing after the preamble, therefore continuing the parse from the spot where the preamble left off. It's now possible to perform a simple preamble build + parse (+ reparse) with ASTUnit. However, one has to disable a bunch of checking in the PCH reader to do so. That part isn't committed; it will likely be handled with some other kind of flag (e.g., -fno-validate-pch). As part of this, fix some issues with null termination of the memory buffers created for the preamble; we were trying to explicitly NULL-terminate them, even though they were also getting implicitly NULL terminated, leading to excess warnings about NULL characters in source files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109445 91177308-0d34-0410-b5e6-96231b3b80d8
reamble.h
|
f2f0f03d08c6143137a79a8edffc7d41823bc3c7 |
24-Jul-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Make declarations in the dependent PCH visible, for C at least. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109292 91177308-0d34-0410-b5e6-96231b3b80d8
hain-function1.h
hain-function2.h
|
577d4796d358c0e72ebaa023113505226ab51b4f |
23-Jul-2010 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Thread bitstream cursors all the way through the AST reading stuff. This way, reading a trivial 2-element chained file actually works. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109191 91177308-0d34-0410-b5e6-96231b3b80d8
hain-trivial1.h
hain-trivial2.h
|
6ad9ac097918fbdeb443ea7b99d4db9e49b28534 |
07-May-2010 |
Chris Lattner <sabre@nondot.org> |
add PCH support for a bunch of C++ Decls, patch by Andrew Sutton! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103301 91177308-0d34-0410-b5e6-96231b3b80d8
amespaces.h
|
81895a21a192af877dece28ebd88219b3faa9bb2 |
24-Feb-2010 |
Douglas Gregor <dgregor@apple.com> |
Add PCH test for C++ namespaces, missing from a previous commit git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97061 91177308-0d34-0410-b5e6-96231b3b80d8
amespaces.h
|