| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 145827
|
| |
|
|
| |
llvm-svn: 145824
|
| |
|
|
| |
llvm-svn: 145823
|
| |
|
|
|
|
| |
(i.e., 'export *'), to better match the semantics of headers.
llvm-svn: 145813
|
| |
|
|
| |
llvm-svn: 145812
|
| |
|
|
|
|
|
|
| |
to re-export anything that it imports. This opt-in feature makes a
module behave more like a header, because it can be used to re-export
the transitive closure of a (sub)module's dependencies.
llvm-svn: 145811
|
| |
|
|
| |
llvm-svn: 145809
|
| |
|
|
|
|
|
| |
it imports, establishing dependencies at the (sub)module
granularity. This is not a user-visible change (yet).
llvm-svn: 145808
|
| |
|
|
| |
llvm-svn: 145785
|
| |
|
|
|
|
| |
Function or array lvalue conversions happens.
llvm-svn: 145782
|
| |
|
|
|
|
| |
types. Patch from Dmitri Rubinstein!
llvm-svn: 145776
|
| |
|
|
|
|
|
| |
a class is marked 'final', from Alberto Ganesh Barbati! Fixes
PR11462.
llvm-svn: 145775
|
| |
|
|
|
|
|
| |
inferred from return types. All the return statements have to agree about the type.
// rdar://10466373
llvm-svn: 145774
|
| |
|
|
|
|
|
|
|
|
| |
function dependent context because it interferes with the "lookup into dependent bases of class templates" feature.
Basically typo correction will try to offer a correction instead of looking into type dependent base classes.
I found this problem while parsing Microsoft ATL code with clang.
llvm-svn: 145772
|
| |
|
|
|
|
| |
initializer lists.
llvm-svn: 145769
|
| |
|
|
|
|
| |
change.)
llvm-svn: 145753
|
| |
|
|
|
|
|
|
|
|
| |
when deserialized, fixing random crashes in libclang.
Also simplifies how OpaqueValueExprs are [de]serialized.
The reader/writer automatically retains pointer equality of sub-statements (when a
statement node is referenced in multiple nodes), so no need to manually handle it.
llvm-svn: 145752
|
| |
|
|
|
|
| |
few places over to it.
llvm-svn: 145747
|
| |
|
|
|
|
| |
review comment.
llvm-svn: 145741
|
| |
|
|
|
|
| |
modules they import, since that information isn't actually used. Drop it from the AST file
llvm-svn: 145738
|
| |
|
|
|
|
|
|
| |
"main" files that import modules. When loading any of these kinds of
AST files, we make the modules that were imported visible into the
translation unit that loaded the PCH file or preamble.
llvm-svn: 145737
|