| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 250917
|
| |
|
|
|
|
|
| |
a value loaded from a __weak variable into a call to
objc_copyWeak or objc_moveWeak.
llvm-svn: 250916
|
| |
|
|
|
|
|
|
|
|
| |
clang accepts both #include and #import for includes (the latter having an
implicit header guard). Let clang-format interleave both types if
--sort-includes is passed. #import is used frequently in Objective-C code.
http://reviews.llvm.org/D13853
llvm-svn: 250909
|
| |
|
|
|
|
| |
ArrayRef. NFC
llvm-svn: 250903
|
| |
|
|
|
|
| |
eventually creating a StringRef. NFC
llvm-svn: 250902
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Putting DynTypedNode in the ParentMap bloats its memory foot print.
Before the void* key had 8 bytes, now we're at 40 bytes per key which
can mean multiple gigabytes increase for large ASTs and this count
doesn't even include all the added TypeLoc nodes. Revert until I come
up with a better data structure.
This reverts commit r250831.
llvm-svn: 250889
|
| |
|
|
|
|
|
|
|
| |
The logic for parsing FP capabilities to set __ARM_FP was mistakenly removing
the Half-Precision capability when handling fp-only-sp resulting in a value
of 0x4. Section 6.5.1 of ACLE states that for such FP architectures the value
should be 0x6
llvm-svn: 250888
|
| |
|
|
|
|
|
|
|
|
|
| |
headers. If those headers end up being textually included twice into the same
module, we get ambiguity errors.
Work around this by downgrading the ambiguity error to a warning if multiple
identical internal-linkage functions appear in an overload set, and just pick
one of those functions as the lookup result.
llvm-svn: 250884
|
| |
|
|
| |
llvm-svn: 250881
|
| |
|
|
| |
llvm-svn: 250880
|
| |
|
|
|
|
| |
positive and casting to unsigned. Since we know the string starts with a digit it couldn't be negative anyway. NFCI
llvm-svn: 250879
|
| |
|
|
| |
llvm-svn: 250878
|
| |
|
|
| |
llvm-svn: 250876
|
| |
|
|
|
|
|
|
|
|
|
| |
This time, I went with the first approach from
http://reviews.llvm.org/D6700, where clang actually attempts to form an
implicit member reference from an UnresolvedLookupExpr. We know that
there are only two possible outcomes at this point, a DeclRefExpr of the
FieldDecl or an error, but its safer to reuse the existing machinery for
this.
llvm-svn: 250856
|
| |
|
|
|
|
|
|
|
|
|
| |
as an extension
Microsoft's ATL headers make use of this MSVC extension, add support for
it and issue a diagnostic under -Wmicrosoft-exception-spec.
This fixes PR25265.
llvm-svn: 250854
|
| |
|
|
|
|
| |
Fixes PR25262
llvm-svn: 250844
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang will now accept this valid C++11 code:
struct A { int field; };
struct B : A {
using A::field;
enum { TheSize = sizeof(field) };
};
Previously we would classify the 'field' reference as something other
than a field, and then forget to apply the C++11 rule to allow
non-static data member references in unevaluated contexts.
This usually arises in class templates that want to reference fields of
a dependent base in an unevaluated context outside of an instance
method. Such contexts do not allow references to 'this', so the only way
to access the field is with a using decl and an implicit member
reference.
llvm-svn: 250839
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Firstly this changes the type of parent map to be keyed on DynTypedNode to
simplify the following changes. This comes with a DenseMapInfo for
DynTypedNode, which is a bit incomplete still and will probably only work
for parentmap right now.
Then the RecursiveASTVisitor in ASTContext is updated and finally
ASTMatchers hasParent and hasAncestor learn about the new functionality.
Now ParentMap is only missing TemplateArgumentLocs and CXXCtorInitializers.
Differential Revision: http://reviews.llvm.org/D13897
llvm-svn: 250831
|
| |
|
|
|
|
|
|
|
|
| |
Summary: It breaks the build for the ASTMatchers
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D13893
llvm-svn: 250827
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Replace empty bodies of default constructors and destructors with '= default'.
Reviewers: bkramer, klimek
Subscribers: klimek, alexfh, cfe-commits
Differential Revision: http://reviews.llvm.org/D13890
llvm-svn: 250822
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
According to the Intel documentation, the mask operand of a maskload and
maskstore intrinsics is always a vector of packed integer/long integer values.
This patch introduces the following two changes:
1. It fixes the avx maskload/store intrinsic definitions in avxintrin.h.
2. It changes BuiltinsX86.def to match the correct gcc definitions for avx
maskload/store (see D13861 for more details).
Differential Revision: http://reviews.llvm.org/D13861
llvm-svn: 250816
|
| |
|
|
| |
llvm-svn: 250804
|
| |
|
|
|
|
| |
Partially reverts r250418.
llvm-svn: 250803
|
| |
|
|
|
|
|
| |
Currently debug info for types used in explicit cast only is not emitted. It happened after a patch for better alignment handling. This patch fixes this bug.
Differential Revision: http://reviews.llvm.org/D13582
llvm-svn: 250795
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
static methods"
This reverts commit r250592.
It has issues around unevaluated contexts, like this:
template <class T> struct A { T i; };
template <class T>
struct B : A<T> {
using A<T>::i;
typedef decltype(i) U;
};
template struct B<int>;
llvm-svn: 250774
|
| |
|
|
| |
llvm-svn: 250764
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
static data members
Out-of-line definitions of static data members which have an inline
initializer must get GVA_DiscardableODR linkage instead of
GVA_StrongExternal linkage.
MSVC 2013's behavior is different with respect to this and would cause
link errors if one TU provided a definition while another did not.
MSVC 2015 fixed this bug, making this OK. Note that the 2015 behavior
is always compatible with 2013: it never produces a strong definition.
This essentially reverts r237787.
llvm-svn: 250757
|
| |
|
|
| |
llvm-svn: 250691
|
| |
|
|
|
|
|
|
|
| |
The Intel MCU psABI requires floating-point values to be passed in-reg.
This makes the x86-32 ABI code respect "-mfloat-abi soft" and generate float inreg arguments.
Differential Revision: http://reviews.llvm.org/D13554
llvm-svn: 250689
|
| |
|
|
| |
llvm-svn: 250687
|
| |
|
|
|
|
|
|
| |
directive
Clang skipped annot_pragma_openmp token, while it should be considered as a stop token while skipping tokens.
llvm-svn: 250684
|
| |
|
|
|
|
| |
parameters of a pointer and length. NFC
llvm-svn: 250681
|
| |
|
|
|
|
| |
pointer and length. NFC". Hopefully this time the bots will be happy.
llvm-svn: 250678
|
| |
|
|
|
|
| |
pointer and length. NFC"
llvm-svn: 250677
|
| |
|
|
|
|
| |
length. NFC
llvm-svn: 250676
|
| |
|
|
| |
llvm-svn: 250675
|
| |
|
|
|
|
|
| |
emacs mode marker. (Changes left behind from another patch that ended up not
working out.)
llvm-svn: 250666
|
| |
|
|
|
|
|
| |
Do direct assignment of boolean values and regroup. Use StringSwitch instead of
custom cases. NFC.
llvm-svn: 250665
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Similar to rL248426 (which was a followup to rL248379 and rL248424), add the
required libraries for OpenMP on the linker command line, and update the test
case.
Reviewers: emaste, theraven, joerg
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D13822
llvm-svn: 250657
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a RegExp contains a character group with a quote (/["]/), the
trailing end of it is first tokenized as a string literal, which leads
to the merging code seeing an unbalanced bracket.
This change parses regex literals from the left hand side. That
simplifies the parsing code and also allows correctly handling escapes
and character classes, hopefully correctly parsing all regex literals.
Patch by Martin Probst, thank you.
Review: http://reviews.llvm.org/D13765
llvm-svn: 250648
|
| |
|
|
| |
llvm-svn: 250647
|
| |
|
|
|
|
| |
for loops worked with arrays.
llvm-svn: 250646
|
| |
|
|
| |
llvm-svn: 250645
|
| |
|
|
| |
llvm-svn: 250621
|
| |
|
|
| |
llvm-svn: 250617
|
| |
|
|
|
|
| |
Reported by: Kim Grasman!
llvm-svn: 250605
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
methods
During the initial template parse for this code, 'member' is unresolved
and we don't know anything about it:
struct A { int member };
template <typename T>
struct B : public T {
using T::member;
static void f() {
(void)member; // Could be static or non-static.
}
};
template class B<A>;
The pattern declaration contains an UnresolvedLookupExpr rather than an
UnresolvedMemberExpr because `f` is static, and `member` should never be
a field. However, if the code is invalid, it may become a field, in
which case we should diagnose it.
Reviewers: rjmccall, rsmith
Differential Revision: http://reviews.llvm.org/D6700
llvm-svn: 250592
|
| |
|
|
|
|
|
|
|
| |
via -fmodule-file= to be turned off; in that case, just include the relevant
files textually. This allows module files to be unconditionally passed to all
compile actions via CXXFLAGS, and to be ignored for rules that specify custom
incompatible flags.
llvm-svn: 250577
|
| |
|
|
| |
llvm-svn: 250559
|
| |
|
|
|
|
| |
requesting module. No functionality change.
llvm-svn: 250554
|