| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 138211
|
|
|
|
|
|
| |
CFRefCount to NoReturnFunctionChecker. No functionality change intended.
llvm-svn: 138210
|
|
|
|
| |
llvm-svn: 138200
|
|
|
|
|
|
| |
No need to bind an explicit value and create a new node.
llvm-svn: 138196
|
|
|
|
|
|
| |
visit to subexpressions (which is no longer needed).
llvm-svn: 138195
|
|
|
|
|
|
|
|
| |
different parts
of the analysis (e.g., analysis of C expressions, analysis of Objective-C expressions, and so on).
llvm-svn: 138194
|
|
|
|
| |
llvm-svn: 138193
|
|
|
|
|
|
|
|
|
|
| |
different modules) more robust. It already handled (simple) merges of
the set of declarations attached to that identifier, so add a test
case that shows us getting two different declarations for the same
identifier (one struct, one function) from different modules, and are
able to use both of them.
llvm-svn: 138189
|
|
|
|
| |
llvm-svn: 138188
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
modules (those that no other module depends on) and performs a search
over all of the modules, visiting a new module only when all of the
modules that depend on it have already been visited. The visitor can
abort the search for all modules that a module depends on, which
allows us to minimize the number of lookups necessary when performing
a search.
Switch identifier lookup from a linear walk over the set of modules to
this module visitation operation. The behavior is the same for simple
PCH and chained PCH, but provides the proper search order for
modules. Verified with printf debugging, since we don't have enough in
place to actually test this.
llvm-svn: 138187
|
|
|
|
|
|
| |
endOfPath diagnostic piece from BugReport to BugReporterVisitor. Switch CFRefCount to use visitors in order to generate the endOfPath piece.
llvm-svn: 138184
|
|
|
|
| |
llvm-svn: 138183
|
|
|
|
|
|
| |
BugReport no longer needs to inherit from BugReporterVisitor.
llvm-svn: 138142
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for tokens that are lexed consecutively from the same FileID, instead of creating
a SLocEntry for each token. e.g for
assert(foo == bar);
there will be a single SLocEntry for the "foo == bar" chunk and locations
for the 'foo', '==', 'bar' tokens will point inside that chunk.
For parsing SemaExpr.cpp, this reduced the number of SLocEntries by 25%.
llvm-svn: 138129
|
|
|
|
|
|
| |
getExpansionLocForMacroDefLoc, no functionality change.
llvm-svn: 138128
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 138127
|
|
|
|
|
|
|
|
|
|
|
|
| |
API in favor of addVisitor(BugReporterVisitor*).
1) Create a header file to expose the predefined visitors. And move the parent(BugReporterVisitor) there as well.
2) Remove the registerXXXVisitor functions - the Visitor constructors/getters can be used now to create the object. One exception is registerVarDeclsLastStore(), which registers more then one visitor, so make it static member of FindLastStoreBRVisitor.
3) Modify all the checkers to use the new API.
llvm-svn: 138126
|
|
|
|
| |
llvm-svn: 138079
|
|
|
|
|
|
| |
-Wdynamic-class-memaccess
llvm-svn: 138074
|
|
|
|
|
|
| |
specified. // rdar://9971982
llvm-svn: 138062
|
|
|
|
| |
llvm-svn: 138049
|
|
|
|
|
|
|
|
|
|
| |
to modernity. Instead of passing down individual
context objects from parser to sema, establish decl
context in parser and have sema access current context
as needed. I still need to take of Doug's comment for
minor cleanups.
llvm-svn: 138040
|
|
|
|
| |
llvm-svn: 138032
|
|
|
|
| |
llvm-svn: 138031
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
has already been loaded before allocating a new Module structure. If
the module has already been loaded (uniquing based on file name), then
just return the existing module rather than trying to load it again.
This allows us to load a DAG of modules. Introduce a simple test case
that forms a diamond-shaped module graph, and illustrates that a
source file importing the bottom of the diamond can see declarations
in all four of the modules that make up the diamond.
Note that this version moves the file-opening logic into the module
manager, rather than splitting it between the module manager and the
AST reader. More importantly, it properly handles the
weird-but-possibly-useful case of loading an AST file from "-".
llvm-svn: 138030
|
|
|
|
|
|
| |
remove invalid assert from the destructor which wasn't called previously due to the leak.
llvm-svn: 138027
|
|
|
|
| |
llvm-svn: 138024
|
|
|
|
| |
llvm-svn: 138023
|
|
|
|
|
|
|
|
| |
when falling back to cc1plus for our compile.
rdar://9963920
llvm-svn: 138017
|
|
|
|
|
|
| |
are flexible arrays or have size 1.
llvm-svn: 138004
|
|
|
|
|
|
|
|
| |
BugReporterContext to BugReport.
One API change: I added BugReporter as an additional parameter to the BugReporterVisitor::VisitNode() method to allow visitors register other visitors with the report on the fly (while processing a node). This functionality is used by NilReceiverVisitor, which registers TrackNullOrUndefValue when the receiver is null.
llvm-svn: 138001
|
|
|
|
|
|
| |
uncorrected identifier. Fixes a problem pointed out by Eli.
llvm-svn: 137987
|
|
|
|
|
|
|
|
| |
__SIZE_TYPE__ (and hence be portable).
Also, change the warning to -Wstrl-incorrect-size.
llvm-svn: 137980
|
|
|
|
| |
llvm-svn: 137973
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Teach ModuleManager::addModule() to check whether a particular module
has already been loaded before allocating a new Module structure. If
the module has already been loaded (uniquing based on file name), then
just return the existing module rather than trying to load it again.
This allows us to load a DAG of modules. Introduce a simple test case
that forms a diamond-shaped module graph, and illustrates that a
source file importing the bottom of the diamond can see declarations
in all four of the modules that make up the diamond.
llvm-svn: 137971
|
|
|
|
|
|
| |
diagnosing invalid function redeclarations.
llvm-svn: 137966
|
|
|
|
| |
llvm-svn: 137958
|
|
|
|
|
|
|
|
| |
in 64-bit mode (ie: when _M_IA64 or _M_AMD64 is defined)
more info: http://msdn.microsoft.com/en-us/library/ms177389.aspx
llvm-svn: 137935
|
|
|
|
|
|
|
|
|
|
|
| |
implicitly instantiable, even if we don't see a body on the friend
function declaration. The body may simply have not yet been attached.
This fixes PR10666.
There may be an alternate, preferred implementation strategy, see my
FIXME. Review would definitely be appreciated Doug. =D
llvm-svn: 137934
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
has already been loaded before allocating a new Module structure. If
the module has already been loaded (uniquing based on file name), then
just return the existing module rather than trying to load it again.
This allows us to load a DAG of modules. Introduce a simple test case
that forms a diamond-shaped module graph, and illustrates that a
source file importing the bottom of the diamond can see declarations
in all four of the modules that make up the diamond.
llvm-svn: 137925
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-import-module) vs. loaded because some other module depends on
them. As part of doing this, pass down the module that caused a module
to be loaded directly, rather than assuming that we're loading a
chain. Finally, write out all of the directly-loaded modules when
serializing an AST file (using the new IMPORTS record), so that an AST
file can depend on more than one other AST file, all of which will be
loaded when that AST file is loaded. This allows us to form and load a
tree of modules, but we can't yet load a DAG of modules.
llvm-svn: 137923
|
|
|
|
|
|
|
|
| |
if the size argument for strlcpy/strlcat is the size of the *source*, and not the size of the *destination*. This warning is off by default (for now)."
This currently doesn't work on Windows.
llvm-svn: 137920
|
|
|
|
| |
llvm-svn: 137918
|
|
|
|
|
|
|
| |
entirely use the existing -Wunused-value infrastructure. This also fixes
a few missed cases for -Wunused in general.
llvm-svn: 137916
|
|
|
|
| |
llvm-svn: 137915
|
|
|
|
|
|
|
| |
that aren't handled by llvm-gcc on fallback.
Enhancement to rdar://9964354
llvm-svn: 137912
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mapped to be ignored.
Currently this includes -pedantic warnings as well; we'll need to consider whether these should
be included.
This works as expected with -Werror.
Test cases were added to Sema/warn-unused-parameters.c, but they should probably be broken off into
their own test file.
llvm-svn: 137910
|
|
|
|
|
|
| |
of expansion (for function macros it includes the right paren).
llvm-svn: 137909
|
|
|
|
|
|
| |
This is going to be made a table.
llvm-svn: 137907
|
|
|
|
|
|
|
| |
from stdin. This allows Eli and the like to continue with their debugging
trickery without loss of limb (or car) on my part. :)
llvm-svn: 137906
|