| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
The old URL hasn't worked for quite some time. While we are here, also
change the link so that it will send us straight to the mangling portion
of the ABI doc.
llvm-svn: 197195
|
| |
|
|
|
|
|
| |
No functionality change. Only Itanium C++ destructors have implicit VTT
parameters.
llvm-svn: 197194
|
| |
|
|
|
|
|
| |
We will need to do some work here if we want to play nice with MSVC2013.
Add a TODO indicating what changed and why this matters.
llvm-svn: 197193
|
| |
|
|
|
|
|
|
|
| |
This reverts commit r197184.
Richard Smith brings up some good points, a proper implementation will
require us to mangle unnameable entities compatibly with MSVC.
llvm-svn: 197192
|
| |
|
|
|
|
|
| |
No functionality change. The only remaining uses were in ItaniumCXXABI,
which knows the implicit parameter is a VTT.
llvm-svn: 197189
|
| |
|
|
|
|
|
|
| |
property and protocol name.
Implements <rdar://problem/15617839>.
llvm-svn: 197187
|
| |
|
|
|
|
|
|
| |
The check for bitfields that are longer than their base type needed to
be checked in microsoft mode (cl.exe does not support the C++ extnetion
for bitfields longer than their type).
llvm-svn: 197186
|
| |
|
|
| |
llvm-svn: 197185
|
| |
|
|
|
|
|
| |
They are mangled the same as normal references, nothing special is going
on here.
llvm-svn: 197184
|
| |
|
|
|
|
|
|
|
| |
This refactor addresses bugzilla bug 18167 and simplifies the code at
the same time. Also I add a test case for the bug. Also I make a
non-functional change to the basic layout lit tests to make them more
reliable (using CHECK-NEXT instead of CHECK).
llvm-svn: 197183
|
| |
|
|
|
|
| |
Triple::getEnvironment.
llvm-svn: 197181
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Type trait parsing is all over the place at the moment with unary, binary and
n-ary C++11 type traits that were developed independently at different points
in clang's history.
There's no good reason to handle them separately -- there are three parsers,
three AST nodes and lots of duplicated handling code with slightly different
implementations and diags for each kind.
This commit unifies parsing of type traits and sets the stage for further
consolidation.
No change in behaviour other than more consistent error recovery.
llvm-svn: 197179
|
| |
|
|
|
|
|
|
|
|
|
| |
of MinGW older than 4.7 with incompatible C++ libraries.
This patch makes clang look for all MinGW versions from 4.7:
4.7.0, 4.7.1, 4.7.2, 4.7.3
4.8.0, 4.8.1, 4.8.2.
llvm-svn: 197176
|
| |
|
|
|
|
| |
Fixes rdar://15644663.
llvm-svn: 197165
|
| |
|
|
|
|
|
| |
GCC 4.7 changed the MingW ABI. On the clang side this means that methods now
have the thiscall calling convention by default.
llvm-svn: 197164
|
| |
|
|
| |
llvm-svn: 197160
|
| |
|
|
| |
llvm-svn: 197157
|
| |
|
|
| |
llvm-svn: 197154
|
| |
|
|
|
|
|
|
|
|
| |
getARMCPU and getLLVMArchSuffixForARM existed as very similar functions
in both ToolChain.cpp and Tools.cpp. Create a single implementation of
each in Tools.cpp, eliminate the duplicate and share via Tools.h.
Creates an 'arm' namespace in Tools.h to be used by any ARM-targetting tools.
llvm-svn: 197153
|
| |
|
|
| |
llvm-svn: 197152
|
| |
|
|
|
|
|
|
| |
Passing -mthumb with no explicit CPU on the command line
resulted in target CPU changing from the architecture
default to arm7tdmi. Now it does not.
llvm-svn: 197151
|
| |
|
|
|
|
|
|
| |
Thanks to Jonathan Sauer for providing initial test cases.
Fixes PR16093 and PR18147.
llvm-svn: 197150
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This refactors some of the Darwin toolchain classification to give a more solid
distinction between the three primary Darwin platforms (OS X, IOS and IOS
simulator) so that a 4th choice can be added temporarily: embedded MachO
targets.
Longer term, this support will be factored out into a separate class and no
longer classified as "darwin-eabi", but the refactoring should still be useful.
llvm-svn: 197148
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Leave only -help, -version and options from the specified category.
Updated clang-check and clang-tidy. As clang-tidy is in a separate repository,
here's the diff:
Index: tools/extra/clang-tidy/tool/ClangTidyMain.cpp
===================================================================
--- tools/extra/clang-tidy/tool/ClangTidyMain.cpp (revision 197024)
+++ tools/extra/clang-tidy/tool/ClangTidyMain.cpp (working copy)
@@ -39,7 +39,7 @@
// FIXME: Add option to list name/description of all checks.
int main(int argc, const char **argv) {
- CommonOptionsParser OptionsParser(argc, argv);
+ CommonOptionsParser OptionsParser(argc, argv, ClangTidyCategory);
SmallVector<clang::tidy::ClangTidyError, 16> Errors;
clang::tidy::runClangTidy(Checks, OptionsParser.getCompilations(),
Reviewers: djasper, klimek
Reviewed By: djasper
CC: cfe-commits, revane, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2379
llvm-svn: 197139
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Added BraceBreakingStyle::BS_GNU. I'm not sure about the correctness of
static initializer formatting, but compound statements should be fine.
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2372
llvm-svn: 197138
|
| |
|
|
|
|
|
| |
conversion on the LHS of a .* or ->*. Slightly improve diagnostics in case
of an ambiguous base class.
llvm-svn: 197125
|
| |
|
|
| |
llvm-svn: 197116
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with the edit entries, instead of applying the changes"
(And also revert the follow-up r197086.)
This seems to have broken Linux builds, which were failing with the following:
/build/buildbot/osu8/clang-x86_64-linux-selfhost-rel/llvm.obj/Release+Asserts/lib/libclang.so:
error: undefined reference to
'clang::ento::objc_retain::CallEffects::getEffect(clang::ObjCMethodDecl const*)'
/build/buildbot/osu8/clang-x86_64-linux-selfhost-rel/llvm.obj/Release+Asserts/lib/libclang.so:
error: undefined reference to
'clang::ento::objc_retain::CallEffects::getEffect(clang::FunctionDecl const*)'
collect2: error: ld returned 1 exit status
llvm-svn: 197111
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|