| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
migrator:
-Allow it to be used with multiple BeginSourceFile/EndSourceFile calls; for this introduce
a "finish" callback method in the DiagnosticConsumer. SDiagsWriter finishes up the serialization
file inside this method.
-Make it independent of any particular DiagnosticsEngine; make it use the SourceManager of the
Diagnostic object.
-Ignore null source ranges.
llvm-svn: 146020
|
| |
|
|
| |
llvm-svn: 146016
|
| |
|
|
|
|
|
|
|
| |
when we load a module map (module.map) from a directory, also load a
private module map (module_private.map) for that directory, if
present. That private module map can inject a new submodule that
captures private headers.
llvm-svn: 146012
|
| |
|
|
|
|
| |
member as the first field. PR11487.
llvm-svn: 146009
|
| |
|
|
|
|
|
| |
SVal can be not only a symbol, but a MemRegion. Add support for such
cases.
llvm-svn: 146006
|
| |
|
|
|
|
| |
module, at least have the decency to complain about it.
llvm-svn: 146002
|
| |
|
|
|
|
|
| |
bound to not have side effects(!). Add constant-folding support for expressions
of void type, to ensure that we can still fold ((void)0, 1) as an array bound.
llvm-svn: 146000
|
| |
|
|
|
|
|
| |
methods with these attributes are sent to receivers
of 'id' type too. // rdar://10459930
llvm-svn: 145999
|
| |
|
|
|
|
|
| |
for a foldable constant rather than an IR-level constant. This is still far too
liberal, but is a step in the right direction.
llvm-svn: 145990
|
| |
|
|
| |
llvm-svn: 145987
|
| |
|
|
|
|
| |
for finding dependent symbols for taint.
llvm-svn: 145986
|
| |
|
|
|
|
|
|
|
|
|
| |
- Created a new SymExpr type - SymbolCast.
- SymbolCast is created when we don't know how to simplify a NonLoc to
NonLoc casts.
- A bit of code refactoring: introduced dispatchCast to have better
code reuse, remove a goto.
- Updated the test case to showcase the new taint flow.
llvm-svn: 145985
|
| |
|
|
| |
llvm-svn: 145984
|
| |
|
|
| |
llvm-svn: 145983
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
evaluator into constant initializer handling / IRGen. The practical consequence
of this is that the bitcast now lives in the constant's definition, rather than
in its uses.
The code in the constant expression evaluator was producing vectors of the wrong
type and size (and possibly of the wrong value for a big-endian int-to-vector
bitcast). We were getting away with this only because we don't yet support
constant-folding of any expressions which inspect vector values.
llvm-svn: 145981
|
| |
|
|
| |
llvm-svn: 145973
|
| |
|
|
| |
llvm-svn: 145958
|
| |
|
|
|
|
| |
modules for each of its subframeworks.
llvm-svn: 145957
|
| |
|
|
|
|
| |
dynamic_lookup for dynamic libs. Style fixes. Patch by glider@google.com
llvm-svn: 145955
|
| |
|
|
| |
llvm-svn: 145945
|
| |
|
|
|
|
|
|
| |
most specific (sub)module based on the actual file we find, rather
than always importing the top-level module. This means
that #include'ing <Foo/Blah.h> should give us the submodule Foo.Blah.
llvm-svn: 145942
|
| |
|
|
|
|
|
|
| |
frameworks). A submodule can now be labeled as a "framework", and
header search will look into the appropriate Headers/PrivateHeaders
subdirectories for named headers.
llvm-svn: 145941
|
| |
|
|
|
|
|
|
| |
explicit submodules or umbrella headers from submodules. Instead,
build the entire module at once, and let the name-hiding mechanisms
hide the contents of explicit submodules at load time.
llvm-svn: 145940
|
| |
|
|
|
|
|
| |
- Fixes <rdar://problem/10261246> clang -maes option is not sufficient to
include <wmmintrin.h>
llvm-svn: 145939
|
| |
|
|
|
|
| |
functionality change yet.
llvm-svn: 145938
|
| |
|
|
| |
llvm-svn: 145935
|
| |
|
|
|
|
|
| |
A mistyped function call becomes an inmplicit function declaration in C.
Suggest typo correction when one can be found.
llvm-svn: 145930
|
| |
|
|
|
|
| |
Fixes PR2709.
llvm-svn: 145928
|
| |
|
|
|
|
|
|
|
|
| |
in the following code:
void test4(bool (&x)(void)) {
while (x);
}
llvm-svn: 145918
|
| |
|
|
|
|
| |
realignment, even with locals with alignment exceeding the ABI guarantee.
llvm-svn: 145909
|
| |
|
|
| |
llvm-svn: 145905
|
| |
|
|
|
|
|
| |
implicitly generates submodules corresponding to the headers that fall
within a module.
llvm-svn: 145887
|
| |
|
|
|
|
| |
PR11484.
llvm-svn: 145874
|
| |
|
|
|
|
| |
attributes don't match its declaration. // rdar://10529259.
llvm-svn: 145872
|
| |
|
|
|
|
| |
backend options are gone.
llvm-svn: 145868
|
| |
|
|
| |
llvm-svn: 145867
|
| |
|
|
|
|
|
| |
Module, and (de-)serialize this information. Semantics of inferred
submodules to follow.
llvm-svn: 145864
|
| |
|
|
|
|
|
|
|
|
|
| |
pass in the correct alignment when known.
The test includes a FIXME for a related case involving calls; it's a bit more complicated to fix because the RValue class doesn't keep track of alignment.
<rdar://problem/10463337>
llvm-svn: 145862
|
| |
|
|
|
|
|
|
| |
(Previously, Clang used it's implementation of dominators.)
The patch is contributed by Guoping Long!
llvm-svn: 145858
|
| |
|
|
| |
llvm-svn: 145857
|
| |
|
|
|
|
|
|
| |
This is a fixup for r145832.
The extra clauses do not matter after we remove the dependency on canReasonAbout(InitVal) in r145832.
llvm-svn: 145856
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
methods) to bool. E.g.
void foo() {}
if (f) { ... // <- Warns here.
}
Only applies to non-weak functions, and does not apply if the function address
is taken explicitly with the addr-of operator.
llvm-svn: 145849
|
| |
|
|
| |
llvm-svn: 145845
|
| |
|
|
| |
llvm-svn: 145841
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
class.
We are going into the direction of handling SymbolData and other SymExpr
uniformly, so it makes less sense to keep two different SVal classes.
For example, the checkers would have to take an extra step to reason
about each type separately.
The classes have the same members, we were just using the SVal kind
field for easy differentiation in 3 switch statements. The switch
statements look more ugly now, but we can make the code more readable in
other ways, for example, moving some code into separate functions.
llvm-svn: 145833
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ExprEngine.
Teach SimpleConstraintManager::assumeSymRel() to propagate constraints
to symbolic expressions.
+ One extra warning (real bug) is now generated due to enhanced
assumeSymRel().
llvm-svn: 145832
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
ConstraintManager::canReasonAbout() from the ExprEngine.
ExprEngine should not care if the constraint solver can reason about
something or not. The solver should be able to handle all the SymExprs.
To do this, the solver should be able to keep track of not only the
SymbolData but of all SymExprs. This is why we change SymbolRef to be an
alias of SymExpr*. When encountering an expression it cannot simplify,
the solver should just add the constraints to it.
llvm-svn: 145831
|
| |
|
|
| |
llvm-svn: 145830
|
| |
|
|
|
|
|
|
| |
of relying on SymbolID.
This way any expression can be printed (not only SymbolData).
llvm-svn: 145829
|
| |
|
|
|
|
|
|
|
| |
requiring CFG.
Adding more ugly code; the evnvironment printing should be moved to
envirnment at some point.
llvm-svn: 145828
|