| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
Fixes rdar//9334563.
llvm-svn: 130162
|
|
|
|
|
|
| |
correctly in the presence of the ever-annoying linkage specifications.
llvm-svn: 130105
|
|
|
|
|
|
|
|
| |
previous PCH.
Fix anonymous namespaces in PCH.
llvm-svn: 130104
|
|
|
|
|
|
| |
notify any mutation listeners of it. This fixes a crasher in chained PCH, where an implicit destructor in a PCH gets a definition in a chained PCH, which is then lost. However, any further use of the destructor would cause its definition to be regenerated in the final file, hiding the bug.
llvm-svn: 130103
|
|
|
|
|
|
| |
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.
llvm-svn: 130102
|
|
|
|
|
|
| |
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.
llvm-svn: 130098
|
|
|
|
|
|
|
| |
As an extension, generic selection support has been added for all
supported languages. The syntax is the same as for C1X.
llvm-svn: 129554
|
|
|
|
|
|
| |
draft standard (N3291).
llvm-svn: 129541
|
|
|
|
|
|
| |
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.
llvm-svn: 129516
|
|
|
|
|
|
|
|
|
| |
a crash when deserializing the AST for this:
typedef char (&R);
extern R &r;
llvm-svn: 129358
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
required modifying a few tests that specifically use note include stacks
to check the source manager's view of include stacks. I've simply added
the flag to these tests for now, they may have to be more substantially
changed if we decide to remove support for note include stacks
altogether.
Also, add a test for include stacks on notes that was supposed to go in
with the previous commit.
llvm-svn: 128390
|
|
|
|
|
|
|
|
|
|
|
| |
This is basically the same idea as the warning on uninitialized uses of
fields within an initializer list. As such, it is on by default and
under -Wuninitialized.
Original patch by Richard Trieu, with some massaging from me on the
wording and grouping of the diagnostics.
llvm-svn: 128376
|
|
|
|
|
|
|
| |
conditioned on whether it has any destructible ivars, not on whether
it has any non-trivial class-object initializers.
llvm-svn: 128074
|
|
|
|
|
|
|
| |
extending the existing support for sizeof and alignof. Original
patch by Guy Benyei.
llvm-svn: 127475
|
|
|
|
|
|
|
|
|
|
| |
to chained PCHs in memory
without having to use multiple runs and intermediate files.
Intended for testing & debugging of chained PCH.
llvm-svn: 127339
|
|
|
|
|
|
| |
chain in the correct order.
llvm-svn: 127315
|
|
|
|
|
|
| |
the absolute path.
llvm-svn: 127248
|
|
|
|
|
|
|
| |
This test requires shell feature, to change working directory.
On Windows, current directory cannot be moved nor removed.
llvm-svn: 127130
|
|
|
|
| |
llvm-svn: 127126
|
|
|
|
|
|
|
|
| |
arguments at the same offset, since it's needed when creating the empty
DeclRefExpr when deserializing. Fixes a memory corruption issue that would lead
to random bugs and crashes.
llvm-svn: 127125
|
|
|
|
| |
llvm-svn: 127077
|
|
|
|
| |
llvm-svn: 127076
|
|
|
|
|
|
|
|
|
|
| |
use the translation unit as its declaration context, then deserialize
the actual lexical and semantic DeclContexts after the template
parameter is complete. This avoids problems when the DeclContext
itself (e.g., a class template) is dependent on the template parameter
(e.g., for the injected-class-name).
llvm-svn: 127056
|
|
|
|
| |
llvm-svn: 126599
|
|
|
|
|
|
|
|
| |
-fobjc-exceptions flag to turn them on.
Update all tests accordingly.
llvm-svn: 126177
|
|
|
|
| |
llvm-svn: 126037
|
|
|
|
| |
llvm-svn: 125644
|
|
|
|
|
|
| |
options, enabled OpenCL extensions and default FP_CONTRACT setting.
llvm-svn: 125589
|
|
|
|
|
|
|
|
|
|
|
| |
another path.
Store in PCH the directory that the PCH was originally created in.
If a header file is not found at the path that we expect it to be and the PCH file
was moved from its original location, try to resolve the file by assuming that
header+PCH were moved together and the header is in the same place relative to the PCH.
llvm-svn: 125576
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we would deserialize all of the macro definitions we knew about while
serializing the macro definitions at the end of the AST/PCH file. Even
though we skipped most of them (since they were unchanged), it's still
a performance problem.
Now, we do the standard AST/PCH chaining trick: watch what identifiers
are deserialized as macro names, and consider only those identifiers
(along with macro definitions that have been deserialized/written in
the source) when serializing the preprocessor state.
llvm-svn: 125324
|
|
|
|
|
|
|
| |
macro definitions by macro name first. That way, we'll get a stable
ordering in the AST/PCH file.
llvm-svn: 125297
|
|
|
|
| |
llvm-svn: 125219
|
|
|
|
|
|
|
| |
lists with zero template arguments. Fixes some seriously scary
crashers in C++ PCH.
llvm-svn: 124862
|
|
|
|
| |
llvm-svn: 124795
|
|
|
|
| |
llvm-svn: 124697
|
|
|
|
|
|
|
| |
PackExpansionType in the AST reader. We need more testing for variadic
templates + PCH, but this fixes PR9073.
llvm-svn: 124662
|
|
|
|
|
|
| |
CheckPointerTypesForAssignment.
llvm-svn: 124632
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
invalid PresomedLoc, instead of just silencing it.
FileManager.cpp: Allow virtual files in nonexistent directories.
FileManager.cpp: Close FileDescriptor for virtual files that correspond to actual files.
FileManager.cpp: Enable virtual files to be created even for files that were flagged as NON_EXISTENT_FILE, e.g. by a prior (unsuccessful) addFile().
ASTReader.cpp: Read a PCH even if the original source files cannot be found.
Add a test for reading a PCH of a file that has been removed and diagnostics referencing that file.
llvm-svn: 124374
|
|
|
|
|
|
|
|
| |
warning flags.
Addresses rdar://8435969&8852495
llvm-svn: 123462
|
|
|
|
|
|
| |
Remove a line: this test is line position sensitive.
llvm-svn: 122231
|
|
|
|
|
|
| |
XFAIL for now, I'll investigate why later.
llvm-svn: 122229
|
|
|
|
|
|
|
|
| |
e.g. #pragma clang diagnostic can be used in a PCH.
Fixes rdar://8435969.
llvm-svn: 118303
|
|
|
|
|
|
| |
the performance of C++ PCH and reducing stack depth in the reader.
llvm-svn: 117732
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
getCanonicalType() to make sure that the type we got back is actually
canonical. This is the case for most types, which always build a
canonical type when given canonical components. However, some types that
involve expressions in their canonicalization (e.g., array types with
dependent sizes) don't always build canonical types from canonical
components, because there is no such thing as a "canonical"
expression. Therefore, we do this extra mapping to ensure that the
canonical types we store are actually canonical.
llvm-svn: 117344
|
|
|
|
|
|
|
|
|
| |
completed.
In that case a chained PCH will record the updates to the DefinitionData pointer of forward references.
If a forward reference mutated into a definition re-write it into the chained PCH, this is too big of a change.
llvm-svn: 117239
|
|
|
|
|
|
|
|
| |
definition data when loaded from PCH.
Temporary disable 'test/PCH/chain-cxx.cpp' until a better way to fix it is in place.
llvm-svn: 117234
|
|
|
|
|
|
| |
definition in the chained PCH.
llvm-svn: 116887
|
|
|
|
| |
llvm-svn: 116866
|
|
|
|
|
|
| |
failures.
llvm-svn: 116859
|
|
|
|
| |
llvm-svn: 116836
|