| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
so that they visually look like an AST dump.
llvm-svn: 164401
|
| |
|
|
| |
llvm-svn: 164400
|
| |
|
|
| |
llvm-svn: 164399
|
| |
|
|
| |
llvm-svn: 164397
|
| |
|
|
| |
llvm-svn: 164396
|
| |
|
|
|
|
|
| |
where a call to function marked 'noreturn' is followed by unreachable
implicit destructor calls.
llvm-svn: 164394
|
| |
|
|
|
|
| |
Try this again, now that r164392 is in place.
llvm-svn: 164393
|
| |
|
|
|
|
| |
them being correctly constructed.
llvm-svn: 164392
|
| |
|
|
| |
llvm-svn: 164391
|
| |
|
|
| |
llvm-svn: 164374
|
| |
|
|
|
|
|
|
| |
out bugs."
It crashed test/Analysis/Output/blocks.m on some hosts.
llvm-svn: 164368
|
| |
|
|
|
|
|
|
|
|
|
| |
This makes the wording more informative, and consistent with the other
warnings about uninitialized variables.
Also, me and David who reviewed this couldn't figure out why we would
need to do a lookup to get the name of the variable; so just print the
name directly.
llvm-svn: 164366
|
| |
|
|
| |
llvm-svn: 164364
|
| |
|
|
| |
llvm-svn: 164363
|
| |
|
|
| |
llvm-svn: 164360
|
| |
|
|
| |
llvm-svn: 164359
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
but not
external visible decls, call DeclContext::setMustBuildLookupTable so that the
"lazy decls" bit of the LookupPtr is set.
Previously, in non-C++, if there were no new declarations causing the "lazy decls" bit
to be set, then DeclContext::lookups_begin() would fail to return the decls from the PCH.
Fixes rdar://12316296.
llvm-svn: 164351
|
| |
|
|
| |
llvm-svn: 164348
|
| |
|
|
|
|
|
|
|
|
|
| |
The expression based expansion too often results in IR level optimizations
splitting the intermediate values into separate basic blocks, preventing
the formation of the VBSL instruction as the code author intended. In
particular, LICM would often hoist part of the computation out of a loop.
rdar://11011471
llvm-svn: 164342
|
| |
|
|
| |
llvm-svn: 164341
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when
their implementations are unavailable. Start by simulating dispatch_sync().
This change is largely a bunch of plumbing around something very simple. We
use AnalysisDeclContext to conjure up a fake function body (using the
current ASTContext) when one does not exist. This is controlled
under the analyzer-config option "faux-bodies", which is off by default.
The plumbing in this patch is largely to pass the necessary machinery
around. CallEvent needs the AnalysisDeclContextManager to get
the function definition, as one may get conjured up lazily.
BugReporter and PathDiagnosticLocation needed to be relaxed to handle
invalid locations, as the conjured body has no real source locations.
We do some primitive recovery in diagnostic generation to generate
some reasonable locations (for arrows and events), but it can be
improved.
llvm-svn: 164339
|
| |
|
|
| |
llvm-svn: 164335
|
| |
|
|
|
|
| |
as exclusive.
llvm-svn: 164332
|
| |
|
|
|
|
| |
lock expressions.
llvm-svn: 164324
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
but can be dereferenced to form an expression which does have viable begin/end
functions, then typo-correct the range, even if something else goes wrong with
the statement (such as inaccessible begin/end or the wrong type of loop
variable).
In order to ensure we recover correctly and produce any followup diagnostics in
this case, redo semantic analysis on the for-range statement outside of the
diagnostic trap, after issuing the typo-correction.
llvm-svn: 164323
|
| |
|
|
|
|
| |
Richard's comments. // rdar://12202422
llvm-svn: 164316
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is some really old code (took me a while to find the test cases) & the
diagnostic text is slightly incorrect (it should really only apply to
re/declarations/, redefinitions are an error regardless of whether the types
match). Not sure if anyone cares about it, though.
For now this just makes the diagnostic more clear in less obvious cases where
the type of a declaration might not be explicitly written (eg: because it
uses decltype)
llvm-svn: 164313
|
| |
|
|
|
|
|
|
| |
disambiguate them from integers.
Based on a patch by Olaf Krzikalla, UDL fixes by me.
llvm-svn: 164303
|
| |
|
|
|
|
| |
ASan doesn't play well with -D_FORTIFY_SOURCE, which is enabled by default starting at OS X 10.7
llvm-svn: 164299
|
| |
|
|
| |
llvm-svn: 164279
|
| |
|
|
|
|
|
|
|
|
|
| |
If someone provides their own function called 'strdup', or 'reallocf', or
even 'malloc', and we inlined it, the inlining should have given us all the
malloc-related information we need. If we then try to attach new information
to the return value, we could end up with spurious warnings.
<rdar://problem/12317671>
llvm-svn: 164276
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
removeDeadBindings."
While we definitely want this optimization in the future, we're not
currently handling constraints on symbolic /expressions/ correctly.
These should stay live even if the SymExpr itself is no longer referenced
because could recreate an identical SymExpr later. Only once the SymExpr
can no longer be recreated -- i.e. a component symbol is dead -- can we
safely remove the constraints on it.
This liveness issue is tracked by <rdar://problem/12333297>.
This reverts r163444 / 24c7f98828e039005cff3bd847e7ab404a6a09f8.
llvm-svn: 164275
|
| |
|
|
| |
llvm-svn: 164274
|
| |
|
|
|
|
| |
non-function friend declaration. Patch by Josh Magee!
llvm-svn: 164273
|
| |
|
|
|
|
| |
member function templates with an rvalue ref qualifier.
llvm-svn: 164267
|
| |
|
|
|
|
| |
functions.
llvm-svn: 164263
|
| |
|
|
| |
llvm-svn: 164260
|
| |
|
|
| |
llvm-svn: 164254
|
| |
|
|
| |
llvm-svn: 164253
|
| |
|
|
| |
llvm-svn: 164252
|
| |
|
|
|
|
| |
is placed on a function that has no path to the exit block.
llvm-svn: 164244
|
| |
|
|
|
|
|
| |
LOCKS_EXCLUDED is used on a method with a name that is is not a simple
identifier.
llvm-svn: 164242
|
| |
|
|
|
|
|
|
| |
clang has recently started to warn about the enum compares:
lib/Serialization/ASTWriter.cpp:2760:31: warning: comparison of literal 256 with expression of type
'clang::DeclarationName::NameKind' is always true [-Wtautological-constant-out-of-range-compare]
llvm-svn: 164220
|
| |
|
|
| |
llvm-svn: 164218
|
| |
|
|
|
|
| |
longer needed after the unused Context member was removed in r164104.
llvm-svn: 164196
|
| |
|
|
|
|
|
|
| |
definition info; it needs to be there because the mangler needs to
access it before we're finished defining the lambda class.
PR12808.
llvm-svn: 164186
|
| |
|
|
|
|
|
|
|
| |
The Freescale SDK is based on OpenEmbedded, and this might be useful
for other OpenEmbedded-based configurations as well.
With minor modifications, patch by Tobias von Koch!
llvm-svn: 164177
|
| |
|
|
|
|
| |
Patch by Tobias von Koch!
llvm-svn: 164176
|
| |
|
|
|
|
| |
relational operators of enumeration type. From the gcc testsuite.
llvm-svn: 164171
|
| |
|
|
|
|
| |
avoid a crash. PR13860.
llvm-svn: 164168
|