| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
uninitialized (which doesn't seem to be the case), by giving
them arbitrary initial values.
llvm-svn: 107679
|
| |
|
|
| |
llvm-svn: 107665
|
| |
|
|
| |
llvm-svn: 107664
|
| |
|
|
|
|
| |
still initializing.
llvm-svn: 107663
|
| |
|
|
| |
llvm-svn: 107662
|
| |
|
|
|
|
| |
We can now use a PCH'ed <map>.
llvm-svn: 107617
|
| |
|
|
| |
llvm-svn: 107616
|
| |
|
|
|
|
|
| |
Some of the invariant checks for creating Record/Enum types don't hold true during PCH reading.
Introduce more suitable ASTContext::getRecordType() and getEnumType().
llvm-svn: 107598
|
| |
|
|
|
|
| |
instantiated-from information.
llvm-svn: 107597
|
| |
|
|
|
|
|
|
|
|
| |
by PCHReader.
Currently, adding it to visible decls of a PCH'ed translation unit has no effect because
adding visible decls before deserialization has no effect (the decls won't be visible).
This will be fixed in a future commit; then it will force deserialization of visible decls, so avoid pointlessly installing it.
llvm-svn: 107595
|
| |
|
|
| |
llvm-svn: 107594
|
| |
|
|
| |
llvm-svn: 107593
|
| |
|
|
|
|
|
|
| |
initializing so avoid
the invariant checks at NamespaceDecl::setAnonymousNamespace().
llvm-svn: 107566
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarations for implicit default constructors, copy constructors,
copy assignment operators, and destructors. On a "simple" translation
unit that includes a bunch of C++ standard library headers, we
generate relatively few of these implicit declarations now:
4/159 implicit default constructors created
18/236 implicit copy constructors created
70/241 implicit copy assignment operators created
0/173 implicit destructors created
And, on this translation unit, this optimization doesn't really
provide any benefit. I'll do some more performance measurements soon,
but this completes the implementation work for <rdar://problem/8151045>.
llvm-svn: 107551
|
| |
|
|
| |
llvm-svn: 107543
|
| |
|
|
| |
llvm-svn: 107542
|
| |
|
|
| |
llvm-svn: 107541
|
| |
|
|
| |
llvm-svn: 107521
|
| |
|
|
| |
llvm-svn: 107510
|
| |
|
|
|
|
| |
<vector> header can be used correctly through PCH now.
llvm-svn: 107483
|
| |
|
|
| |
llvm-svn: 107477
|
| |
|
|
|
|
|
|
| |
ClassTemplatePartialSpecializationDecls.
Store/read also their template arguments because they may be initializing and not be able to provide them.
llvm-svn: 107476
|
| |
|
|
| |
llvm-svn: 107475
|
| |
|
|
| |
llvm-svn: 107474
|
| |
|
|
|
|
| |
currently initializing.
llvm-svn: 107473
|
| |
|
|
| |
llvm-svn: 107472
|
| |
|
|
|
|
|
|
| |
initializing.
- Fix creation of TemplateSpecializationType.
llvm-svn: 107471
|
| |
|
|
| |
llvm-svn: 107470
|
| |
|
|
|
|
| |
complicated to delay PCH reading the type of a TypeDecl.
llvm-svn: 107469
|
| |
|
|
|
|
| |
them for PCH reading.
llvm-svn: 107468
|
| |
|
|
| |
llvm-svn: 107367
|
| |
|
|
| |
llvm-svn: 107268
|
| |
|
|
| |
llvm-svn: 107267
|
| |
|
|
| |
llvm-svn: 107266
|
| |
|
|
|
|
|
|
| |
'long'. The practical upshot is so that the uint64_t we define in our stdint.h
ends up being compatible with that defined by gcc (at least on Darwin), which
otherwise could lead to type incompatibilities with other system headers.
llvm-svn: 107255
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This commit 'introduces' a slightly different way to restore the state of the AST object.
It makes PCHDeclReader/PCHDeclWriter friends and gives them access to the private members of the object.
The rationale is to avoid using/modifying the AST interfaces for PCH read/write so that to:
-Avoid complications with objects that have side-effects during creation or when using some setters.
-Not 'pollute' the AST interface with methods only used by the PCH reader/writer
-Allow AST objects to be read-only.
llvm-svn: 107219
|
| |
|
|
|
|
| |
PCHStmtReader) use the "faster" ReadSubStmt. No functionality change.
llvm-svn: 107218
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this commit, sub-stmts were stored as encountered and when they were placed in the Stmts stack we had to know what index
each stmt operand has. This complicated supporting variable sub-stmts and sub-stmts that were contained in TypeSourceInfos, e.g.
x = sizeof(int[1]);
would crash PCH.
Now, sub-stmts are stored in reverse order, from last to first, so that when reading them, in order to get the next sub-stmt we just
need to pop the last stmt from the stack. This greatly simplified the way stmts are written and read (just use PCHWriter::AddStmt and
PCHReader::ReadStmt accordingly) and allowed variable stmt operands and TypeSourceInfo exprs.
llvm-svn: 107087
|
| |
|
|
| |
llvm-svn: 107064
|
| |
|
|
|
|
| |
Fixes <rdar://problem/8098441>.
llvm-svn: 107061
|
| |
|
|
| |
llvm-svn: 106999
|
| |
|
|
| |
llvm-svn: 106998
|
| |
|
|
| |
llvm-svn: 106997
|
| |
|
|
| |
llvm-svn: 106996
|
| |
|
|
| |
llvm-svn: 106995
|
| |
|
|
|
|
|
|
|
|
|
|
| |
As part of this, pull together trapv handling into the same enum.
This also add support for NSW multiplies.
This also makes PCH disagreement on overflow behavior silent, since it
really doesn't matter except for warnings and codegen (no macros get
defined etc).
llvm-svn: 106956
|
| |
|
|
| |
llvm-svn: 106950
|
| |
|
|
| |
llvm-svn: 106860
|
| |
|
|
|
|
| |
back got messed up.
llvm-svn: 106859
|
| |
|
|
| |
llvm-svn: 106858
|