| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
class, diagnose if the qualified-id instantiates to a non-static class member.
llvm-svn: 166268
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
constructors.
When I first moved regparm support to TargetInfo.cpp I tried to isolate it
in classifyArgumentTypeWithReg, but it is actually a lot easier to flip the
code around and check for regparm at the end of the decision tree.
Without this refactoring classifyArgumentTypeWithReg would have to duplicate
the logic about when to use non-byval indirect arguments.
llvm-svn: 166266
|
|
|
|
|
|
| |
its on the same line as the last call to getLineNumber. Prevents needing to scan backwards for the new line. Fixes PR14106.
llvm-svn: 166265
|
|
|
|
| |
llvm-svn: 166263
|
|
|
|
| |
llvm-svn: 166257
|
|
|
|
| |
llvm-svn: 166254
|
|
|
|
| |
llvm-svn: 166252
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
block, so the input files are validated early on, before we've
committed to loading the AST file. This (accidentally) fixed a but
wherein the main file used to generate the AST file would *not* be
validated by the existing validation logic.
At the moment, this leads to some duplication of filenames between the
source manager block and input-file blocks, as well as validation
logic. This will be handled via an upcoming patch.
llvm-svn: 166251
|
|
|
|
|
|
| |
This seems to have introduced assertion hit when building compiler-rt.
llvm-svn: 166245
|
|
|
|
| |
llvm-svn: 166240
|
|
|
|
|
|
| |
Grzegorz Jablonski.
llvm-svn: 166237
|
|
|
|
|
|
|
|
|
|
| |
are no known current users of column info. Robustify and fix up
a few tests in the process. Reduces the size of debug information
by a small amount.
Part of PR14106
llvm-svn: 166236
|
|
|
|
| |
llvm-svn: 166233
|
|
|
|
|
|
|
| |
for current(rewritten) comment and getParamNameAsWritten
to access param name coming with \param marker.
llvm-svn: 166231
|
|
|
|
| |
llvm-svn: 166230
|
|
|
|
| |
llvm-svn: 166229
|
|
|
|
|
|
| |
module files.
llvm-svn: 166228
|
|
|
|
|
|
| |
printing. Patch by Benoit Perrot.
llvm-svn: 166227
|
|
|
|
|
|
|
|
| |
with default values.
Based on patch by Grzegorz Jablonski.
llvm-svn: 166226
|
|
|
|
| |
llvm-svn: 166223
|
|
|
|
|
|
| |
which will be used by the asm matcher in the near future.
llvm-svn: 166221
|
|
|
|
|
|
|
|
|
|
|
| |
source locations in places where it is necessary for diagnostics. By itself,
this causes assertions, so while I'm here, also fix property synthesis
for properties of C++ class type so we use so we properly set up a scope
and mark variable declarations.
<rdar://problem/12514189>.
llvm-svn: 166219
|
|
|
|
|
|
|
|
| |
diffs.
char-by-char is really slow on an unbuffered stream.
llvm-svn: 166218
|
|
|
|
|
|
|
| |
*NamedDecl. In turn, build the expressions after we're finished parsing the
asm. This avoids a crasher if the lookup fails.
llvm-svn: 166213
|
|
|
|
| |
llvm-svn: 166211
|
|
|
|
|
|
| |
This would make it possible for the analyzer to use the function.
llvm-svn: 166210
|
|
|
|
| |
llvm-svn: 166208
|
|
|
|
|
|
| |
single record.
llvm-svn: 166206
|
|
|
|
|
|
|
| |
metadata record, which already had other version information. Clean up
the block info block along the way.
llvm-svn: 166204
|
|
|
|
|
|
| |
file's control block.
llvm-svn: 166195
|
|
|
|
|
|
| |
namespace.
llvm-svn: 166194
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Within the body of the loop the underlying map may be modified via
Sema::AddOverloadCandidate
-> Sema::CompareReferenceRelationship
-> Sema::RequireCompleteType
to avoid the use of invalid iterators the sequence is copied first.
A reliable, though large, test case is available - it will be reduced and
committed shortly.
Patch by Robert Muth. Review by myself, Nico Weber, and Rafael Espindola.
llvm-svn: 166188
|
|
|
|
|
|
|
| |
layer. Use the new ParseMSInlineAsm() API and add an implementation of the
MCAsmParserSemaCallback interface.
llvm-svn: 166184
|
|
|
|
| |
llvm-svn: 166174
|
|
|
|
|
|
| |
start seeing the bit so that we can find bugs and write tests for it.
llvm-svn: 166171
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
block, which stores information about how the AST file to generated,
from the AST block, which stores the actual serialized AST. The
information in the control block should be enough to determine whether
the AST file is up-to-date and compatible with the current translation
unit, and reading it should not cause any side effects that aren't
easy to undo. That way, we can back out from an attempt to read an
incompatible or out-of-date AST file.
Note that there is still more factoring to do. In particular,
information about the source files used to generate the AST file
(along with their time stamps, sizes, etc.) still resides in the
source manager block.
llvm-svn: 166166
|
|
|
|
|
|
|
| |
Nadav's llvm change r165665 caused problems with an LTO bootstrap of clang,
so I'm reverting it for now, along with follow-on patches like this one.
llvm-svn: 166164
|
|
|
|
| |
llvm-svn: 166162
|
|
|
|
| |
llvm-svn: 166158
|
|
|
|
|
|
| |
expressions, not *any* typeid on a polymorphic class type.
llvm-svn: 166156
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declaration of a virtual function.
GCC and Clang both do not warn on:
struct a { virtual void func(); };
struct b: a { virtual void func(); void func(int); };
struct c: b { void func(int); using b::func; };
but if the "using" was using a::func GCC would still remain silent where Clang
would warn. This change makes Clang consistent with GCC's existing behavior.
llvm-svn: 166154
|
|
|
|
| |
llvm-svn: 166152
|
|
|
|
| |
llvm-svn: 166139
|
|
|
|
|
|
|
|
|
|
|
| |
XML comment for declarations which pretty-prints
declaration. I had to XFAIL one test annotate-comments.cpp.
This test is currently unmaintainable as written.
Dmitri G., can you see what we can do about this test.
We should change this test such that adding a new tag does not wreck
havoc to the test.
llvm-svn: 166130
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This actually looks through several kinds of expression, such as
OpaqueValueExpr and ExprWithCleanups. The idea is that binding and lookup
should be consistent, and so if the environment needs to be modified later,
the code doing the modification will not have to manually look through these
"transparent" expressions to find the real binding to change.
This is necessary for proper updating of struct rvalues as described in
the previous commit.
llvm-svn: 166121
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In C++, rvalues that need to have their address taken (for example, to be
passed to a function by const reference) will be wrapped in a
MaterializeTemporaryExpr, which lets CodeGen know to create a temporary
region to store this value. However, MaterializeTemporaryExprs are /not/
created when a method is called on an rvalue struct, even though the 'this'
pointer needs a valid value. CodeGen works around this by creating a
temporary region anyway; now, so does the analyzer.
The analyzer also does this when accessing a field of a struct rvalue.
This is a little unfortunate, since the rest of the struct will soon be
thrown away, but it does make things consistent with the rest of the
analyzer.
This allows us to bring back the assumption that all known 'this' values
are Locs. This is a revised version of r164828-9, reverted in r164876-7.
<rdar://problem/12137950>
llvm-svn: 166120
|
|
|
|
|
|
| |
debug info.
llvm-svn: 166109
|
|
|
|
|
| |
Review: http://llvm-reviews.chandlerc.com/D47
llvm-svn: 166094
|
|
|
|
|
|
|
|
|
| |
has ivars that require destruction, but none that require anything
except zero-initialization. This is common in ARC and (when true
throughout a class hierarchy) permits the elimination of an
unnecessary message-send during allocation.
llvm-svn: 166088
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 166087
|