| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 57979
|
|
|
|
|
|
|
|
|
|
|
|
| |
conversions (e.g., comparing int* -> const int* against
int* -> const volatile int*); see C++ 13.3.3.2p3 bullet 3.
Add Sema::UnwrapSimilarPointerTypes to simplify the control flow of
IsQualificationConversion and CompareQualificationConversion (and fix
the handling of the int* -> volatile int* conversion in the former).
llvm-svn: 57978
|
|
|
|
| |
llvm-svn: 57977
|
|
|
|
| |
llvm-svn: 57964
|
|
|
|
| |
llvm-svn: 57963
|
|
|
|
|
|
| |
inline
llvm-svn: 57951
|
|
|
|
|
|
|
|
|
|
| |
1. Remove a bogus assertion, clients other than sema can return a
null pointer from actions that result in ParseTypeName returning null.
2. Remove dead RParenLoc variable.
3. Simplify control flow handling error conditions.
4. On a major failure, we should skip until ')' not until '}'.
llvm-svn: 57949
|
|
|
|
|
|
| |
- Stop playing fast and loose with the std stream.
llvm-svn: 57948
|
|
|
|
|
|
| |
are disjoint, and add some overloading-based tests of qualification conversions
llvm-svn: 57942
|
|
|
|
| |
llvm-svn: 57941
|
|
|
|
| |
llvm-svn: 57938
|
|
|
|
|
|
|
|
|
|
|
| |
- Split backend related consumer out into Backend.cpp, replaces
LLVMCodeGenWriter.
- Structure follows llvm-gcc to some extent.
- Still need to implement all the options which impact code
generation and the optimization passes which llvm-gcc uses at
various levels.
llvm-svn: 57936
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Sema::IsQualificationConversion determines whether we have a qualification
conversion.
- Sema::CheckSingleAssignment constraints now follows the C++ rules in C++,
performing an implicit conversion from the right-hand side to the type of
the left-hand side rather than checking based on the C notion of
"compatibility". We now rely on the implicit-conversion code to
determine whether the conversion can happen or
not. Sema::TryCopyInitialization has an ugly reference-related
hack to cope with the initialization of references, for now.
- When building DeclRefExprs, strip away the reference type, since
there are no expressions whose type is a reference. We'll need to
do this throughout Sema.
- Expr::isLvalue now permits functions to be lvalues in C++ (but not
in C).
llvm-svn: 57935
|
|
|
|
| |
llvm-svn: 57931
|
|
|
|
|
|
| |
previous commit.
llvm-svn: 57930
|
|
|
|
| |
llvm-svn: 57927
|
|
|
|
| |
llvm-svn: 57924
|
|
|
|
|
|
| |
determine if the symbolic value as a "loc::" or "nonloc::" value.
llvm-svn: 57917
|
|
|
|
|
|
|
|
|
| |
blocks as objects
ASTContext::isObjCObjectPointerType() needs to consider blocks as objects.
Note: My previous commit was done in the test directory...as a result, this commit was necessary.
llvm-svn: 57914
|
|
|
|
|
|
|
|
| |
blocks as objects
ASTContext::isObjCObjectPointerType() needs to consider blocks as objects.
llvm-svn: 57913
|
|
|
|
| |
llvm-svn: 57910
|
|
|
|
| |
llvm-svn: 57909
|
|
|
|
|
|
|
|
| |
the current autorelease pool).
Added initial code for tracking stack of autorelease pools.
llvm-svn: 57908
|
|
|
|
| |
llvm-svn: 57907
|
|
|
|
|
|
| |
Found this while fixing another unrelated radar.
llvm-svn: 57904
|
|
|
|
| |
llvm-svn: 57903
|
|
|
|
| |
llvm-svn: 57902
|
|
|
|
|
|
| |
'int (void)' because it has the same meaning in C and C++.
llvm-svn: 57901
|
|
|
|
| |
llvm-svn: 57899
|
|
|
|
|
|
|
|
|
|
|
|
| |
is over enthusiastic.
Fix <rdar://problem/6265257> warnings for ambiguous message send swamp other warnings.
Reworked Sema::MatchTwoMethodDeclarations() to optionally match based on method size and alignment (the default in GCC). Changed Sema::LookupInstanceMethodInGlobalPool() to use this feature.
Added -Wno-struct-selector-match to driver, however didn't hook it up yet. Added a FIXME that says this.
llvm-svn: 57898
|
|
|
|
|
|
|
|
|
|
|
| |
GRExprEngine::VisitCast() so that other parts of the analyzer can be ignorant.
When we cast "array of type T" to "pointer to T", we get the loc::MemRegionVal
corresponding to the array variable. This is sufficient for BasicStore, but not
for RegionStore. RegionStore should get the element region for the first array
element in the cast. So next comes to the revamping of transfer functions for
different store model.
llvm-svn: 57897
|
|
|
|
| |
llvm-svn: 57896
|
|
|
|
| |
llvm-svn: 57895
|
|
|
|
|
|
| |
RValues.h/cpp => SVals.h/cpp
llvm-svn: 57893
|
|
|
|
|
|
| |
initialized to UndefinedVal.
llvm-svn: 57892
|
|
|
|
| |
llvm-svn: 57891
|
|
|
|
| |
llvm-svn: 57890
|
|
|
|
| |
llvm-svn: 57878
|
|
|
|
| |
llvm-svn: 57877
|
|
|
|
| |
llvm-svn: 57876
|
|
|
|
| |
llvm-svn: 57863
|
|
|
|
|
|
| |
that a denominator cannot be zero even when the result of an '/' or '%' expression is unknown.
llvm-svn: 57855
|
|
|
|
|
|
| |
compound assignment when the result of the assignment is not known.
llvm-svn: 57852
|
|
|
|
|
|
| |
compound assignment is UnknownVal().
llvm-svn: 57851
|
|
|
|
|
|
| |
on id<protocol>.
llvm-svn: 57850
|
|
|
|
|
|
| |
of ObjC qualified id types to be consistent with gcc. This changes a handful of test case errors into warnings (diff will tell you which cases have changed).
llvm-svn: 57841
|
|
|
|
| |
llvm-svn: 57818
|
|
|
|
|
|
| |
strcmp when needed.
llvm-svn: 57817
|
|
|
|
| |
llvm-svn: 57816
|
|
|
|
| |
llvm-svn: 57815
|