| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
corresponding @interface, provide a note showing which interface we're
referring to. This note has the fix-it hint on it.
Also, don't automatically apply fix-it hints for notes. They're meant
to express fix-its that would change semantics.
llvm-svn: 92870
|
| |
|
|
|
|
| |
ASTContext. Fixes <rdar://problem/7495428>.
llvm-svn: 92867
|
| |
|
|
| |
llvm-svn: 92866
|
| |
|
|
| |
llvm-svn: 92862
|
| |
|
|
|
|
|
|
| |
linkage of vtables. Before this, we were emitting RTTI names for
template instantiations with strong external linkage rather than with
weak ODR linkage.
llvm-svn: 92857
|
| |
|
|
|
|
|
| |
continuation classes and its original declaration
is imported from a protocol. This fixes radar 7509234.
llvm-svn: 92856
|
| |
|
|
|
|
| |
virtual function has a body inlined in the class
llvm-svn: 92855
|
| |
|
|
| |
llvm-svn: 92846
|
| |
|
|
|
|
|
|
| |
result for a nested class whose first non-pure virtual member function
has an inline body. Previously, we were checking for the key function
before we had seen the (delayed) inline body.
llvm-svn: 92839
|
| |
|
|
|
|
|
|
|
| |
as parts of overload sets. Also, refer to constructors as 'constructors'
rather than functions.
Adjust a lot of tests.
llvm-svn: 92832
|
| |
|
|
| |
llvm-svn: 92828
|
| |
|
|
|
|
|
|
|
|
|
|
| |
for -Wsign-compare and -Wconversion, and use that coordinated logic to drive
both diagnostics. The new logic works more transparently with implicit
conversions, conditional operators, etc., as well as bringing -Wconversion's
ability to deal with pseudo-closed operations (e.g. arithmetic on shorts) to
-Wsign-compare.
Fixes PRs 5887, 5937, 5938, and 5939.
llvm-svn: 92823
|
| |
|
|
|
|
| |
LLVM-with-Clang build with linker errors that I have yet to investigate.
llvm-svn: 92822
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
deterministic and work properly with templates. Once a class that
needs a vtable has been defined, we now do one if two things:
- If the class has no key function, we place the class on a list of
classes whose virtual functions will need to be "marked" at the
end of the translation unit. The delay until the end of the
translation unit is needed because we might see template
specializations of these virtual functions.
- If the class has a key function, we do nothing; when the key
function is defined, the class will be placed on the
aforementioned list.
At the end of the translation unit, we "mark" all of the virtual
functions of the classes on the list as used, possibly causing
template instantiation and other classes to be added to the
list. This gets LLVM's lib/Support/CommandLine.cpp compiling again.
llvm-svn: 92821
|
| |
|
|
| |
llvm-svn: 92819
|
| |
|
|
| |
llvm-svn: 92816
|
| |
|
|
|
|
| |
encountered a fatal error. On some files that are woefully wrong (missing headers) this can cause a 3x slowdown in some cases when parsing the file. It makes sense not to perform typo correction in this case because after a fatal error diagnostics will either be suppressed or not really make any sense.
llvm-svn: 92809
|
| |
|
|
|
|
| |
for a 'readonly' property. Fixes radar 7427072.
llvm-svn: 92808
|
| |
|
|
|
|
|
| |
try to evaluate an expression as a constant boolean condition. This has
the same intended semantics as used in folding conditional operators.
llvm-svn: 92805
|
| |
|
|
| |
llvm-svn: 92801
|
| |
|
|
| |
llvm-svn: 92787
|
| |
|
|
|
|
|
|
|
|
| |
non-inline key function of a class template instantiation, when no key
function is present, the class template instantiation itself was
instantiated with an explicit instantiation declaration (aka extern
template). I'm fairly certain that the C++0x specification gives us
this lattitude, although GCC doesn't take advantage of it.
llvm-svn: 92779
|
| |
|
|
| |
llvm-svn: 92755
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- All classes can have a key function; templates don't change that.
non-template classes when computing the key function.
- We always mark all of the virtual member functions of class
template instantiations.
- The vtable for an instantiation of a class template has weak
linkage.
We could probably use available_externally linkage for vtables of
classes instantiated by explicit instantiation declarations (extern
templates), but GCC doesn't do this and I'm not 100% that the ABI
permits it.
llvm-svn: 92753
|
| |
|
|
| |
llvm-svn: 92749
|
| |
|
|
| |
llvm-svn: 92746
|
| |
|
|
| |
llvm-svn: 92744
|
| |
|
|
| |
llvm-svn: 92742
|
| |
|
|
|
|
|
|
|
|
| |
endings, which is
related to <rdar://problem/6596843> clang ObjC rewriter: Line endings still mixed in rewrite output
This fix was dropped when I integrated the 'objective-rewrite' branch.
llvm-svn: 92737
|
| |
|
|
|
|
| |
ASTContext::hasSameUnqualifiedType() when one of the type is VariableArrayType.
llvm-svn: 92723
|
| |
|
|
| |
llvm-svn: 92715
|
| |
|
|
| |
llvm-svn: 92686
|
| |
|
|
|
|
| |
function is virtual. Fixes PR5940.
llvm-svn: 92680
|
| |
|
|
| |
llvm-svn: 92677
|
| |
|
|
| |
llvm-svn: 92676
|
| |
|
|
|
|
| |
Essentially treat 'this' as a implicit parameter to the method call, and associate a region with it.
llvm-svn: 92675
|
| |
|
|
| |
llvm-svn: 92558
|
| |
|
|
|
|
| |
with the format attribute.
llvm-svn: 92553
|
| |
|
|
| |
llvm-svn: 92551
|
| |
|
|
|
|
|
|
|
|
|
|
| |
GRStateManager. Having these references was an abstraction violation,
as they really should only be known about GRExprEngine.
This change required adding a new 'ProcessAssume' callback in
GRSubEngine. GRExprEngine implements this callback by calling
'EvalAssume' on all registered Checker objects as well as the
registered GRTransferFunc object.
llvm-svn: 92549
|
| |
|
|
|
|
|
| |
overlap between this and -Wsign-compare, which is why I want them in the same
place.
llvm-svn: 92543
|
| |
|
|
| |
llvm-svn: 92541
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
assembly code. This avoids changing the bahvior when normal asm("")
statements are used.
The type of code affected would be:
void* t4(void) { __asm mov eax, fs:[0x10] }
I hope people like this version, if not, let me know.
llvm-svn: 92531
|
| |
|
|
| |
llvm-svn: 92526
|
| |
|
|
|
|
|
| |
whose operands are non-negative integer constant expressions. This comes up
in LLVM in a few places.
llvm-svn: 92525
|
| |
|
|
|
|
| |
types. Fixes APFloat.cpp compilation failure.
llvm-svn: 92523
|
| |
|
|
|
|
| |
This is wip.
llvm-svn: 92501
|
| |
|
|
|
|
|
|
| |
definitions from a precompiled header. This ensures that
code-completion with macro names behaves the same with or without
precompiled headers.
llvm-svn: 92497
|
| |
|
|
| |
llvm-svn: 92493
|
| |
|
|
| |
llvm-svn: 92491
|