| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Fix multiplies by scalar
Add SemaChecking code for all immediates
Add SemaChecking-gen support to arm_neon.td
llvm-svn: 105930
|
| |
|
|
|
|
| |
from its canonical type.
llvm-svn: 105912
|
| |
|
|
| |
llvm-svn: 105908
|
| |
|
|
|
|
| |
methods.
llvm-svn: 105882
|
| |
|
|
| |
llvm-svn: 105880
|
| |
|
|
|
|
| |
explicit casts. Fixes PR7359.
llvm-svn: 105871
|
| |
|
|
|
|
| |
Troy Straszheim!
llvm-svn: 105823
|
| |
|
|
|
|
| |
to bool" in the sense of C++ [over.ics.rank]p4 bullet 1. I have decreed it.
llvm-svn: 105817
|
| |
|
|
|
|
|
| |
ptrdiff_t (long on 64-bit, apparently) is ambiguous between the int and
unsigned int overloads.
llvm-svn: 105816
|
| |
|
|
|
|
|
| |
candidates printed. We default to 'all'. At the moment, 'best' prints only
the first 4 overloads, but we'll improve that over time.
llvm-svn: 105815
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
case of an elaborated-type-specifier like 'typename A<T>::foo', and
DependentTemplateSpecializationType represents the case of an
elaborated-type-specifier like 'typename A<T>::template B<T>'. The TypeLoc
representation of a DependentTST conveniently exactly matches that of an
ElaboratedType wrapping a TST.
Kill off the explicit rebuild methods for RebuildInCurrentInstantiation;
the standard implementations work fine because the nested name specifier
is computable in the newly-entered context.
llvm-svn: 105801
|
| |
|
|
|
|
|
| |
value semantics such that we recurse while the visitors return true, and halt
as soon as one returns false. Patch by csilvers.
llvm-svn: 105787
|
| |
|
|
|
|
| |
treating constexpr as a top-level const.
llvm-svn: 105752
|
| |
|
|
| |
llvm-svn: 105751
|
| |
|
|
| |
llvm-svn: 105716
|
| |
|
|
|
|
|
|
|
|
| |
new design discussed on cfe-dev, with further steps in that direction to come.
It is already much more complete than the previous visitor.
Patch by Zhanyong and Craig with 80 column wraps and one missing declaration
added by me.
llvm-svn: 105709
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Refactored LengthModifier to be a class.
- Added toString methods in all member classes of FormatSpecifier.
- FixIt suggestions keep user specified flags unless incorrect.
Limitations:
- The suggestions are not conversion specifier sensitive. For example, if we have a 'pad with zeroes' flag, and the correction is a string conversion specifier, we do not remove the flag. Clang will warn us on the next compilation.
A test/Sema/format-strings-fixit.c
M include/clang/Analysis/Analyses/PrintfFormatString.h
M lib/Analysis/PrintfFormatString.cpp
M lib/Sema/SemaChecking.cpp
llvm-svn: 105680
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
being a subsequence of another standard conversion sequence. Instead
of requiring exact type equality for the second conversion step,
require type *similarity*, which is type equality with cv-qualifiers
removed at all levels. This appears to match the behavior of EDG and
VC++ (albeit not GCC), and feels more intuitive. Big thanks to John
for the line of reasoning that supports this change: since
cv-qualifiers are orthogonal to the second conversion step, we should
ignore them in the type comparison.
llvm-svn: 105678
|
| |
|
|
|
|
| |
Test out some basic constant-checking.
llvm-svn: 105667
|
| |
|
|
|
|
|
| |
build a new declaration for that tag type that will be visible for
future lookups of that tag.
llvm-svn: 105643
|
| |
|
|
|
|
|
| |
determining whether one overload candidate is better than
another. Fixes PR7319.
llvm-svn: 105642
|
| |
|
|
|
|
| |
scattered throughout the project Makefiles.
llvm-svn: 105638
|
| |
|
|
|
|
| |
- This eliminates most dependencies on how Clang is installed relative to LLVM.
llvm-svn: 105637
|
| |
|
|
|
|
| |
warnings, from Troy Straszheim! Fixes PR6163.
llvm-svn: 105631
|
| |
|
|
|
|
| |
copy-in of c++ class objects into blocks.
llvm-svn: 105622
|
| |
|
|
|
|
| |
pointer. Original patch by Troy D. Straszheim; fixes PR7283.
llvm-svn: 105621
|
| |
|
|
|
|
| |
appropriate to check them when compiling or other archs. Fixes a problem where compiling for NEON would use x86 sema rules.
llvm-svn: 105593
|
| |
|
|
|
|
| |
shufflevector instruction. This means it can now be used for vector truncation and concatenation. This will be used for the ARM NEON implementation.
llvm-svn: 105589
|
| |
|
|
|
|
|
| |
type of rhs need be compared to setter's argument and
not the getter type. Fixes radar 8062778
llvm-svn: 105560
|
| |
|
|
|
|
|
| |
created temporary. Use own initialized entity for copied in block
variables.
llvm-svn: 105533
|
| |
|
|
|
|
| |
constructor into an extension warning into the error that C++98 requires.
llvm-svn: 105529
|
| |
|
|
|
|
|
| |
or block-pointer type by removing the qualifiers parameter. Introduce a
method to perform semantic checking when adding qualifiers to a type.
llvm-svn: 105526
|
| |
|
|
| |
llvm-svn: 105525
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a member template, and you try to call the member template with an explicit
template argument. See PR7247
For example, this downgrades the error to a warning in:
template<typename T> struct set{};
struct Value {
template<typename T>
void set(T value) {
}
};
void foo() {
Value v;
v.set<double>(3.2); // Warning here.
}
llvm-svn: 105518
|
| |
|
|
|
|
| |
This is never null, but the associated type might be.
llvm-svn: 105503
|
| |
|
|
|
|
| |
at array qualifiers. Fixes rdar://problem/8018292.
llvm-svn: 105494
|
| |
|
|
|
|
| |
class object in blocks and carry it to IRGen.
llvm-svn: 105487
|
| |
|
|
| |
llvm-svn: 105484
|
| |
|
|
|
|
|
| |
was given. Remove some unnecessary accounting from BlockScopeInfo. Handle
typedef'ed function types until such time as we decide not.
llvm-svn: 105478
|
| |
|
|
|
|
|
| |
the case where we pick up block arguments from a typedef. Save the block
signature as it was written, and preserve same through PCH.
llvm-svn: 105466
|
| |
|
|
| |
llvm-svn: 105465
|
| |
|
|
|
|
| |
type parameter pack is distinct from a template type parameter.
llvm-svn: 105464
|
| |
|
|
|
|
|
| |
Allows this check to work properly for instantiated fields and removes
an unnecessary GetTypeForDeclarator call.
llvm-svn: 105463
|
| |
|
|
| |
llvm-svn: 105458
|
| |
|
|
| |
llvm-svn: 105445
|
| |
|
|
|
|
| |
operand of a throw expression. Fixes PR7281.
llvm-svn: 105408
|
| |
|
|
| |
llvm-svn: 105374
|
| |
|
|
|
|
| |
Dimitry Andric!
llvm-svn: 105327
|
| |
|
|
|
|
| |
the type. Thanks to Anders for the bug report!
llvm-svn: 105314
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
continues to
bring in the entire lookup table at once.
Also, give ExternalSemaSource's vtable a home. This is important because otherwise
any reference to it will cause RTTI to be emitted, and since clang is compiled
with -fno-rtti, that RTTI will contain unresolved references (to ExternalASTSource's
RTTI). So this change makes it possible to subclass ExternalSemaSource from projects
compiled with RTTI, as long as the subclass's home is compiled with -fno-rtti.
llvm-svn: 105268
|