| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
information.
llvm-svn: 63799
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the ownership of BugTypes and BugReports. Now BugReports are owned by BugTypes,
and BugTypes are owned by the BugReporter object.
The major functionality change in this patch is that reports are not immediately
emitted by a call to BugReporter::EmitWarning (now called EmitReport), but
instead of queued up in report "equivalence classes". When
BugReporter::FlushReports() is called, it emits one diagnostic per report
equivalence class. This provides a nice cleanup with the caching of reports as
well as enables the BugReporter engine to select the "best" path for reporting a
path-sensitive bug based on all the locations in the ExplodedGraph that the same
bug could occur.
Along with this patch, Leaks are now coalesced into a common equivalence class
by their allocation site, and the "summary" diagnostic for leaks now reports the
allocation site as the location of the bug (this may later be augmented to also
provide an example location where the leak occurs).
llvm-svn: 63796
|
| |
|
|
|
|
| |
r63765).
llvm-svn: 63795
|
| |
|
|
| |
llvm-svn: 63794
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
extension. The interaction with designated initializers is a
bit... interesting... but we follow GNU's lead and don't permit too
much crazy code in this area.
Also, make the "excess initializers" error message a bit more
informative.
Addresses PR2561: http://llvm.org/bugs/show_bug.cgi?id=2561
llvm-svn: 63785
|
| |
|
|
| |
llvm-svn: 63784
|
| |
|
|
| |
llvm-svn: 63782
|
| |
|
|
|
|
| |
wrong in some cases.
llvm-svn: 63780
|
| |
|
|
| |
llvm-svn: 63779
|
| |
|
|
|
|
|
|
| |
- Emits all declarations, even unused (static) ones.
- Useful when doing minimization of codegen problems (otherwise
problems localized to a static function aren't minimized well).
llvm-svn: 63776
|
| |
|
|
|
|
| |
to CGCall functions.
llvm-svn: 63775
|
| |
|
|
| |
llvm-svn: 63773
|
| |
|
|
| |
llvm-svn: 63770
|
| |
|
|
|
|
| |
Patch by David Chisnall
llvm-svn: 63769
|
| |
|
|
|
|
| |
buffer as if the #include happened from the main file.
llvm-svn: 63764
|
| |
|
|
|
|
| |
DeclTy*, not TypeTy*.
llvm-svn: 63756
|
| |
|
|
| |
llvm-svn: 63750
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Changes Lookup*Name functions to return NamedDecls, instead of
Decls. Unfortunately my recent statement that it will simplify lot of
code, was not quite right, but it simplifies some...
- Makes MergeLookupResult SmallPtrSet instead of vector, following
Douglas suggestions.
- Adds %qN format for printing qualified names to Diagnostic.
- Avoids searching for using-directives in Scopes, which are not
DeclScope, during unqualified name lookup.
llvm-svn: 63739
|
| |
|
|
|
|
|
|
| |
'XCElementAnchorDelegate' as different kind of symbol.
At first glance, this looked like a recent regression (possibly created by http://llvm.org/viewvc/llvm-project?view=rev&revision=63354, which was the only recent change to this section of Sema::ActOnStartClassInterface()). After more investigation, it looks like an edge case bug that we didn't cover in our tests.
llvm-svn: 63738
|
| |
|
|
|
|
| |
http://llvm.org/bugs/show_bug.cgi?id=3475
llvm-svn: 63737
|
| |
|
|
|
|
|
| |
into the general name-lookup fold. This cleans up some ugly,
not-quite-working code in the handling of operator overloading.
llvm-svn: 63735
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
unqualified-id '('
in C++. The unqualified-id might not refer to any declaration in our
current scope, but declarations by that name might be found via
argument-dependent lookup. We now do so properly.
As part of this change, CXXDependentNameExpr, which was previously
designed to express the unqualified-id in the above constructor within
templates, has become UnresolvedFunctionNameExpr, which does
effectively the same thing but will work for both templates and
non-templates.
Additionally, we cope with all unqualified-ids, since ADL also applies
in cases like
operator+(x, y)
llvm-svn: 63733
|
| |
|
|
| |
llvm-svn: 63726
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
line markers, including maintenance of the virtual include stack.
For something like this:
# 42 "bar.c" 1
# 142 "bar2.c" 1
#warning zappa
# 92 "bar.c" 2
#warning gonzo
# 102 "foo.c" 2
#warning bonkta
we now produce these three warnings:
#1:
In file included from foo.c:3:
In file included from bar.c:42:
bar2.c:143:2: warning: #warning zappa
#warning zappa
^
#2:
In file included from foo.c:3:
bar.c:92:2: warning: #warning gonzo
#warning gonzo
^
#3:
foo.c:102:2: warning: #warning bonkta
#warning bonkta
^
llvm-svn: 63722
|
| |
|
|
|
|
| |
play around with the 'is system header' bit now function correctly.
llvm-svn: 63720
|
| |
|
|
|
|
| |
ignoring include stack push/pop info though.
llvm-svn: 63719
|
| |
|
|
| |
llvm-svn: 63717
|
| |
|
|
| |
llvm-svn: 63715
|
| |
|
|
|
|
| |
more likely to hit.
llvm-svn: 63714
|
| |
|
|
| |
llvm-svn: 63712
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
query point to the returned presumed location. We now produce:
foo.h:92:2: warning: #warning blarg!
#warning blarg!
^
foo.h:93:2: warning: #warning blarg!
#warning blarg!
^
foo.h:94:2: warning: #warning blarg!
#warning blarg!
^
for:
#line 92 "foo.h"
#warning blarg!
#warning blarg!
#warning blarg!
blarg indeed!
llvm-svn: 63710
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
location below it report as coming from the #line location. For example,
with:
#line 92 "foo.h"
#warning blarg!
#warning blarg!
we now emit:
foo.h:92:2: warning: #warning blarg!
#warning blarg!
^
foo.h:92:2: warning: #warning blarg!
#warning blarg!
^
llvm-svn: 63709
|
| |
|
|
|
|
|
|
| |
getColumnNumber. This fixes a FIXME in
SourceManager::getPresumedLoc because we now just decompose
the sloc once.
llvm-svn: 63701
|
| |
|
|
|
|
|
|
| |
makes it clear to clients that they have to pick an instantiation
or spelling location before calling it and allows optimization based
on that.
llvm-svn: 63698
|
| |
|
|
| |
llvm-svn: 63697
|
| |
|
|
|
|
|
|
|
| |
infrastructure to construct function type.
- For consistencty, we should probably always use this to construct
function types, but these are absolutely necessary to ensure that
we can emit calls to these functions.
llvm-svn: 63695
|
| |
|
|
| |
llvm-svn: 63694
|
| |
|
|
|
|
|
|
|
|
|
|
| |
a.k.a. Koenig lookup) in C++. Most of the pieces are in place, but for
two:
- In an unqualified call g(x), even if the name does not refer to
anything in the current scope, we can still find functions named
"g" based on ADL. We don't yet have this ability.
- ADL will need updating for friend functions and templates.
llvm-svn: 63692
|
| |
|
|
| |
llvm-svn: 63691
|
| |
|
|
| |
llvm-svn: 63685
|
| |
|
|
|
|
| |
abi messaging.
llvm-svn: 63684
|
| |
|
|
| |
llvm-svn: 63683
|
| |
|
|
| |
llvm-svn: 63681
|
| |
|
|
| |
llvm-svn: 63678
|
| |
|
|
|
|
| |
out of FileInfo :)
llvm-svn: 63672
|
| |
|
|
| |
llvm-svn: 63667
|
| |
|
|
|
|
| |
Patch by David Chisnall.
llvm-svn: 63666
|
| |
|
|
| |
llvm-svn: 63662
|
| |
|
|
|
|
| |
Pointers to functions don't work yet, and pointers to overloaded functions even less. Also, far too much illegal code is accepted.
llvm-svn: 63655
|
| |
|
|
|
|
|
|
|
|
|
| |
- Now only 27/500 failures on ABITest single argument tests; from
350/500. :)
- As with return types, a large percentage of these are likely to be
gcc bugs, not yet reviewed.
Also, fix bug in handling of Ignore ABI type in argument lists.
llvm-svn: 63654
|