| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 139078
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
well.
Also, clean up the flow of the code a bit, and factor things more
nicely.
Finally, add the test case that was missing from my previous
commit (sorry), with new tests added to cover temporaries and other fun
cases.
llvm-svn: 139077
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reference members of classes. We've had several bugs reported because of
this, and there's no reason not to flag it right away in the compiler.
Comments especially welcome on the strategy for implementing this
warning (IE, what should trigger this?) and on the text of the warning
itself.
I'm going to extend this to cover obvious cases with temporaries and
beef up the test cases some in subsequent patches. I'll then run it over
a large codebase and make sure its not misbehaving before I add it to
-Wall or turn it on by default. I think this one might be a good
candidate for on by default.
llvm-svn: 139075
|
|
|
|
| |
llvm-svn: 139042
|
|
|
|
|
|
| |
// rdar://10033896
llvm-svn: 139041
|
|
|
|
| |
llvm-svn: 139033
|
|
|
|
| |
llvm-svn: 139029
|
|
|
|
|
|
| |
dead code. Fixes <rdar://problem/10060250>.
llvm-svn: 139027
|
|
|
|
|
|
| |
// rdar://10033896
llvm-svn: 139020
|
|
|
|
|
|
| |
Fix the cast kind for a cast from floating-point to enum type. (The difference isn't actually visible, but that's just because IRGen is overly forgiving.) Per report by Enea Zaffanella on cfe-dev.
llvm-svn: 139011
|
|
|
|
|
|
| |
And with that, TransferFuncs is gone!
llvm-svn: 139003
|
|
|
|
|
|
| |
to RetainCountChecker...and clean up the file while I'm at it.
llvm-svn: 139002
|
|
|
|
|
|
| |
and reducing indentation through the clever use of early exits. ;]
llvm-svn: 139001
|
|
|
|
|
|
| |
in a leak. There's room for improvement here...
llvm-svn: 139000
|
|
|
|
| |
llvm-svn: 138999
|
|
|
|
|
|
|
|
|
|
| |
current analysis from CFRefCount to ExprEngine.
Remove TransferFuncs from ExprEngine and AnalysisConsumer.
Demote RetainReleaseChecker to a regular checker, and give it the name osx.cocoa.RetainCount (class name change coming shortly). Update tests accordingly.
llvm-svn: 138998
|
|
|
|
|
|
| |
NULL as a non-pointer in a binary operation into separate functions.
llvm-svn: 138995
|
|
|
|
| |
llvm-svn: 138994
|
|
|
|
|
|
| |
checking functions, into its own function.
llvm-svn: 138993
|
|
|
|
|
|
| |
functions making a slimmer function.
llvm-svn: 138992
|
|
|
|
|
|
| |
hard coding strings from SemaExpr.cpp to DiagnosticSemaKinds.td.
llvm-svn: 138987
|
|
|
|
|
|
|
|
|
| |
Preprocessor, eliminating the constructor that was used by ASTUnit
(which didn't provide an ASTContext or Prepreprocessor). Ensuring that
both objects are non-NULL will simplify module loading (but none of
that is done yet).
llvm-svn: 138986
|
|
|
|
|
|
|
|
| |
builtin types (When requested). This is another step toward making
ASTUnit build the ASTContext as needed when loading an AST file,
rather than doing so after the fact. No actual functionality change (yet).
llvm-svn: 138985
|
|
|
|
|
|
|
|
| |
and language-specific initialization. Use this to allow ASTUnit to
create a preprocessor object *before* loading the AST file. No actual
functionality change.
llvm-svn: 138983
|
|
|
|
|
|
| |
CheckIncrementDecrementOperand() in SemaExpr.cpp to move reused code to separate functions.
llvm-svn: 138975
|
|
|
|
|
|
| |
in the face of buffering C++/ObjC method bodies.
llvm-svn: 138972
|
|
|
|
|
|
|
| |
and may very well be dependent-types, triggering an assertion in debug info
codegen.
llvm-svn: 138970
|
|
|
|
|
|
|
|
|
| |
itself upon initialization, such as using itself within its own copy constructor.
struct S {};
S s(s);
llvm-svn: 138969
|
|
|
|
|
|
|
|
| |
Objective-C method buffering(rdar://10056942)
Turned out the same issue existed for C++ inline methods.
llvm-svn: 138960
|
|
|
|
|
|
|
|
|
| |
LangOptions, rather than making distinct copies of
LangOptions. Granted, LangOptions doesn't actually get modified, but
this will eventually make it easier to construct ASTContext and
Preprocessor before we know all of the LangOptions.
llvm-svn: 138959
|
|
|
|
|
|
| |
for now.
llvm-svn: 138958
|
|
|
|
|
|
| |
This concludes //rdar://8843851
llvm-svn: 138947
|
|
|
|
|
|
|
|
|
|
|
| |
include guards don't show up as macro definitions in every translation
unit that imports a module. Macro definitions can, however, be
exported with the intentionally-ugly #__export_macro__
directive. Implement this feature by not even bothering to serialize
non-exported macros to a module, because clients of that module need
not (should not) know that these macros even exist.
llvm-svn: 138943
|
|
|
|
|
|
| |
I had to force -fno-delayed-template-parsing on some Index tests because delayed template parsing will change the output of some tests.
llvm-svn: 138942
|
|
|
|
|
|
|
| |
and doing a simple search. Before we would manually check for the linker
before the -B options were searched.
llvm-svn: 138941
|
|
|
|
| |
llvm-svn: 138940
|
|
|
|
|
|
|
|
| |
free() is returned by realloc(). Most code expect NULL.
And we only need to transfer one final ProgramState.
llvm-svn: 138937
|
|
|
|
| |
llvm-svn: 138936
|
|
|
|
|
|
|
|
| |
semantic analysis when taking the address of an xvalue. Instead, just
build the unary operator directly, since it's safe to do so (from the
IRgen and AST perspectives) for any glvalue. Fixes PR10822.
llvm-svn: 138935
|
|
|
|
|
|
|
|
|
|
|
|
| |
The initial incentive was to fix a crash when PCH chaining categories
to an interface, but the fix was done in the "modules way" that I hear
is popular with the kids these days.
Each module stores the local chain of categories and we combine them
when the interface is loaded. We also warn if non-dependent modules
introduce duplicate named categories.
llvm-svn: 138926
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(unsurprisingly) caret diagnostics. This is designed to bring some
organization to the monstrous EmitCaretDiagnostic function, and allow
factoring it more easily and with less mindless parameter passing.
Currently this just lifts the existing function into a method, and
splits off the obviously invariant arguments to be class members. No
functionality is changed, and there are still lots of warts to let
existing code continue functioning as-is. Definitely WIP, more cleanups
to follow.
llvm-svn: 138921
|
|
|
|
| |
llvm-svn: 138920
|
|
|
|
|
|
|
|
|
|
| |
synthesis. This new feature is currently placed under
-fobjc-default-synthesize-properties option
and is off by default pending further testing.
It will become the default feature soon.
// rdar://8843851
llvm-svn: 138913
|
|
|
|
| |
llvm-svn: 138909
|
|
|
|
|
|
|
|
| |
message send to an unknown method.
rdar://problem/9416370, redux.
llvm-svn: 138893
|
|
|
|
|
|
|
| |
IPHONEOS_DEPLOYMENT_TARGET if undefined, set -miphoneos-version-min based on
isysroot.
llvm-svn: 138892
|
|
|
|
|
|
| |
on Windows.
llvm-svn: 138880
|
|
|
|
|
|
| |
arguments. Thanks, Joerg.
llvm-svn: 138875
|
|
|
|
|
|
|
|
| |
existing practice with Python extension modules. Not that Python
extension modules should be using a double-underscored identifier
anyway, but...
llvm-svn: 138870
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and does the Sema on their body after the entire
class/category @implementation is seen. This change allows messaging
of forward private methods, as well as, access to
synthesized ivars of properties with foward synthesize
declarations; among others. In effect, this patch removes
several restrictions placed on objective-c due to in-place
semantics processing of methods.
This is part of // rdar://8843851.
llvm-svn: 138865
|