| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
clarity.
llvm-svn: 197110
|
| |
|
|
|
|
| |
more consistent with other attributes.
llvm-svn: 197104
|
| |
|
|
|
|
|
|
|
| |
declarations that might lifetime-extend multiple temporaries. In passing, fix a
crasher (PR18217) if an initializer was dependent and exactly the wrong shape,
and remove a bogus function (Expr::findMaterializedTemporary) now its last use
is gone.
llvm-svn: 197103
|
| |
|
|
|
|
|
| |
Objective-C object conforming to 'NSCopying' protocol, infer
a 'copy' property, instead of 'strong'. // rdar://15525937
llvm-svn: 197102
|
| |
|
|
|
|
| |
This depends on LLVM r197096.
llvm-svn: 197101
|
| |
|
|
| |
llvm-svn: 197094
|
| |
|
|
|
|
|
|
|
| |
printer.
The change isn't completely comprehensive. This can be filled in
lazily as needed. There is one consumer right now.
llvm-svn: 197093
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, a line like
// expected-error-re {{foo}}
treats the entirety of foo as a regex. This is inconvenient when matching type
names containing regex characters. For example, to match
"void *(class test8::A::*)(void)" inside such a regex, one would have to type
"void \*\(class test8::A::\*\)\(void\)".
This patch changes the semantics of expected-error-re to only treat the parts
of the directive wrapped in double curly braces as regexes. This avoids the
escaping problem and leads to nicer patterns for those cases; see e.g. the
change to test/Sema/format-strings-scanf.c.
(The balanced search for closing }} of a directive also makes us handle the
full directive in test\SemaCXX\constexpr-printing.cpp:41 and :53.)
Differential Revision: http://llvm-reviews.chandlerc.com/D2388
llvm-svn: 197092
|
| |
|
|
|
|
| |
intrinsics to use f32 types, rather than their vector equivalents.
llvm-svn: 197091
|
| |
|
|
| |
llvm-svn: 197086
|
| |
|
|
|
|
|
| |
After r196549 there is no need to separate FinalizeCXXLayout and
FinalizeLayout so they were merged and FinalizeCXXLayout was eliminated.
llvm-svn: 197083
|
| |
|
|
|
|
| |
except for GNU attributes, or C++11-style attributes in the GNU namespace. This prevents attributes such as __declspec(__dllexport__) or [[__noreturn__]] from being treated as known attributes.
llvm-svn: 197082
|
| |
|
|
| |
llvm-svn: 197077
|
| |
|
|
|
|
|
|
|
|
|
| |
entries, instead of applying the changes
to a temp file directly.
This allows to combine the edits when they can be different based on whether you saw
the implementation or not, e.g. with the designated initializer migration.
llvm-svn: 197076
|
| |
|
|
|
|
|
|
|
|
| |
the ObjC implementation declarations, just don't change implementations for
classes that are not in the whitelisted headers.
For example, if we change a method to return 'instancetype' we should also
update the method definition in the implementation.
llvm-svn: 197075
|
| |
|
|
|
|
| |
use f32/f64 types, rather than their vector equivalents.
llvm-svn: 197071
|
| |
|
|
|
|
|
| |
floating-point reciprocal square root step LLVM AArch64 intrinsics to
use f32/f64 types, rather than their vector equivalents.
llvm-svn: 197070
|
| |
|
|
|
|
|
|
| |
point reciprocal exponent, and floating-point reciprocal square root estimate
LLVM AArch64 intrinsics to use f32/f64 types, rather than their vector
equivalents.
llvm-svn: 197069
|
| |
|
|
|
|
|
|
|
|
| |
We were mistakengly giving linkonce_odr linkage instead of internal
linkage to the deleting and complete destructor thunks for classes in
anonymous namespaces.
Fixes PR17273.
llvm-svn: 197060
|
| |
|
|
|
|
| |
Found by Arthur Yoo!
llvm-svn: 197059
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Methods are thiscall by default in the MS ABI, and also in MinGW targetting GCC 4.7 or later.
This changes the diagnostic from the technically correct but hard to understand:
virtual function 'foo' has different calling convention attributes ('void ()') than the function it overrides (which has calling convention 'void () __attribute__((thiscall))')
to the more intuitive and also correct:
'static' member function 'foo' overrides a virtual function
We already have a test for this. Let's just run it in both ABI modes.
Differential Revision: http://llvm-reviews.chandlerc.com/D2375
llvm-svn: 197055
|
| |
|
|
| |
llvm-svn: 197043
|
| |
|
|
|
|
|
|
|
|
| |
With the introduction of explicit address space casts into LLVM, there's
a need to provide a new cast kind the front-end can create for C/OpenCL/CUDA
and code to produce address space casts from those kinds when appropriate.
Patch by Michele Scandale!
llvm-svn: 197036
|
| |
|
|
| |
llvm-svn: 197035
|
| |
|
|
|
|
|
|
|
|
|
| |
Includes might always pull in arbitrary header or data files outside of
modules. Among others, this includes builtin includes, which do not have
a module (story) yet.
Also cleanup implementation of ModuleMap::findModuleForHeader() to be
non-recursive.
llvm-svn: 197034
|
| |
|
|
|
|
|
|
| |
The soft-float variants of (embedded) libclang_rt only make sense for ARM, so
there's no point in trying to build them if the compiler is only capable of
targeting x86.
llvm-svn: 197033
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is an experimental feature, where -integrated-as will be
on by default on ARM/Thumb. We aim to detect the missing features
so that the next release is stable.
Updating the ReleaseNotes, too.
Also moving the AArch64 into the same place.
llvm-svn: 197024
|
| |
|
|
| |
llvm-svn: 197022
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Specifically, we want to warn only for direct layering violations for
the modules we are calling clang on.
This temporarily unblocks
http://llvm-reviews.chandlerc.com/D2374
Once that is in, we'll also want to investigate whether to check the
layering in the build step of modules that we build transitively.
llvm-svn: 197021
|
| |
|
|
|
|
| |
any local extern declaration, not just a local extern function.
llvm-svn: 197000
|
| |
|
|
|
|
|
|
| |
Prior to this patch, the alignment imposed by virtual bases only
included direct virtual bases. This patch fixes it to look at all
virtual bases.
llvm-svn: 196997
|
| |
|
|
|
|
|
|
| |
list, each element of the initializer list may provide more than one of the
base elements of the array. Be sure to initialize the right type and bump the
array pointer by the right amount.
llvm-svn: 196995
|
| |
|
|
|
|
| |
invocation.
llvm-svn: 196993
|
| |
|
|
|
|
|
| |
warning is coming out incorrectly too early
becuase of unrelated scope pop. // rdar://15630719
llvm-svn: 196989
|
| |
|
|
|
|
|
| |
when selector in objc_bridge_related attribute names
a property. // rdar://15517899
llvm-svn: 196984
|
| |
|
|
| |
llvm-svn: 196982
|
| |
|
|
| |
llvm-svn: 196981
|
| |
|
|
|
|
| |
// rdar://15499111
llvm-svn: 196977
|
| |
|
|
|
|
| |
intrinsic to use f32/f64 types, rather than their vector equivalents.
llvm-svn: 196969
|
| |
|
|
|
|
|
|
| |
fixed-point
LLVM AArch64 intrinsics to use f32/f64, rather than their vector equivalents.
llvm-svn: 196968
|
| |
|
|
|
|
| |
and fixed-point convert to floating-point LLVM AArch64 intrinsics.
llvm-svn: 196967
|
| |
|
|
|
|
| |
LLVM AArch64 intrinsics.
llvm-svn: 196966
|
| |
|
|
|
|
|
|
|
|
|
| |
When parsing invalid top-level asm statements, we were ignoring the
return code of the SkipUntil we used for recovery. This led to crashes
when we hit the end of file and tried to continue parsing anyway.
This fixes the crash and adds a couple of tests for parsing related
problems.
llvm-svn: 196961
|
| |
|
|
| |
llvm-svn: 196959
|
| |
|
|
| |
llvm-svn: 196957
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'objc_protocol_requires_explicit_implementation'.
That's a mouthful, and not necessarily the final name. This also
reflects a semantic change where this attribute is now on the
protocol itself instead of a class. This attribute will require
that a protocol, when adopted by a class, is explicitly implemented
by the class itself (instead of walking the super class chain).
Note that this attribute is not "done". This should be considered
a WIP.
llvm-svn: 196955
|
| |
|
|
|
|
| |
attribute declarations.
llvm-svn: 196954
|
| |
|
|
| |
llvm-svn: 196953
|
| |
|
|
|
|
| |
// rdar://15499111
llvm-svn: 196950
|
| |
|
|
|
|
|
|
| |
We do not need to expose this flag to the user. This commit makes
the flag an interal debug option that will only display its help
when printing with --help-hidden.
llvm-svn: 196946
|