| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 185159
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Some valid pre-C++11 constructs change meaning when lexed in C++11
mode, e.g.
#define x(_a) printf("foo"_a);
(example from http://llvm.org/bugs/show_bug.cgi?id=16342). "foo"_a is treated as
a user-defined string literal when parsed in C++11 mode.
In order to deal with this correctly, we need to set lexing mode according to
which standard the code conforms to. We already have a configuration value for
this (FormatStyle.Standard), which seems to be appropriate to use in this case
as well.
Reviewers: klimek
CC: cfe-commits, gribozavr
Differential Revision: http://llvm-reviews.chandlerc.com/D1028
llvm-svn: 185149
|
|
|
|
|
|
| |
module deserialization / merging, and more laziness here is general goodness.
llvm-svn: 185132
|
|
|
|
| |
llvm-svn: 185127
|
|
|
|
| |
llvm-svn: 185119
|
|
|
|
|
|
|
|
|
| |
This replaces a long list of declarations for visitor functions with
a list generated from DeclNodes.inc. Nothing really interesting came
out of it; we had comprehensive coverage anyway
(excluding FriendTemplateDecls).
llvm-svn: 185118
|
|
|
|
|
|
| |
initialized during aggregate initialization of the surrounding structure.
llvm-svn: 185117
|
|
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D1051
llvm-svn: 185115
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
passing arguments in the fixed style.
We have an abstraction for deciding this, but it's (1) deep in
IR-generation, (2) necessarily tied to exact argument lists, and
(3) triggered by unprototyped function types, which we can't
legitimately make in C++ mode. So this solution, wherein Sema
rewrites the function type to an exact prototype but leaves the
variadic bit enabled so as to request x86-64-like platforms to
pass the extra variadic info, is very much a hack, but it's one
that works in practice on the platforms that LLDB will support
in the medium term --- the only place we know of where it's a
problem is instance methods in Windows, where variadic functions
are implicitly cdecl. We may have a more abstracted base on which
to build a solution by then.
rdar://13731520
llvm-svn: 185112
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r184817. The failure Chandler was seeing was most likely the
bug that Bob Wilson fixed in r184870 (which was a bug caught by these tests).
To be safe, I just checked again on x86-64 mac os x/linux that this test passed
(which it did).
llvm-svn: 185110
|
|
|
|
|
|
| |
its only caller with a FIXME explaining why it's bogus.
llvm-svn: 185109
|
|
|
|
| |
llvm-svn: 185108
|
|
|
|
| |
llvm-svn: 185103
|
|
|
|
| |
llvm-svn: 185101
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tag with that name in an enclosing scope.
r177473 made us correctly consider only those declarations in the
enclosing namespace scope when looking for a friend declaration. Under
ms-extensions mode, where we do some level of friend injection, this
meant that we were introducing a new tag type into a different scope
than what Microsoft actually does. Address this by only doing the
friend injection when we didn't see any tag with that name in any
outer scope. Fixes <rdar://problem/14250378>.
llvm-svn: 185100
|
|
|
|
| |
llvm-svn: 185098
|
|
|
|
|
|
|
|
| |
* Use a single stat to find out if the file exists and if it is a regular file.
* Use early returns when possible.
* Add comments explaining why we have each check.
llvm-svn: 185091
|
|
|
|
| |
llvm-svn: 185075
|
|
|
|
| |
llvm-svn: 185058
|
|
|
|
|
|
| |
specifically states that the type is incomplete and points to the forward declaration of the incomplete type.
llvm-svn: 185056
|
|
|
|
| |
llvm-svn: 185053
|
|
|
|
| |
llvm-svn: 185042
|
|
|
|
|
|
|
|
|
|
|
|
| |
Armed with a much better understanding of what
TemplateSpecializationTypeLoc::initializeArgLocs actually does, I now
understand that it's fine to just use an empty TemplateArgumentLocInfo
for Integral, Declaration, and NullPtr TemplateArguments.
Fixes PR14281. (The testcases are actually derived from libcxx_test in
deduction-crash.cpp because the original testcase was impossible to reduce.)
llvm-svn: 185038
|
|
|
|
|
|
|
|
| |
side-effect is not sequenced before its value computation. Also fix a
mishandling of ?: expressions where the condition is constant that was
exposed by the tests for this.
llvm-svn: 185035
|
|
|
|
| |
llvm-svn: 185029
|
|
|
|
|
|
|
| |
private ivars in class extensions and class
@implementation. // rdar://14278560
llvm-svn: 185025
|
|
|
|
|
|
| |
Fixes -Werror bootstrap.
llvm-svn: 185023
|
|
|
|
|
|
|
|
| |
declaration with no name.
Patch thanks to Robert Wilhelm.
llvm-svn: 185022
|
|
|
|
| |
llvm-svn: 185021
|
|
|
|
|
|
|
| |
They are mostly duplicated and got out of sync during the PathV1 removal. We
should factor the code somewhere, but for now a FIXME will do.
llvm-svn: 185019
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old implementation of ms_struct in RecordLayoutBuilder was a
complete mess: it depended on complicated conditionals which didn't
really reflect the underlying logic, and placed a burden on users of
the resulting RecordLayout. This commit rips out almost all of the
old code, and replaces it with simple checks in
RecordLayoutBuilder::LayoutBitField.
This commit also fixes <rdar://problem/14252115>, a bug where class
inheritance would cause us to lay out bitfields incorrectly.
llvm-svn: 185018
|
|
|
|
|
|
| |
functional change intended.
llvm-svn: 185014
|
|
|
|
| |
llvm-svn: 185013
|
|
|
|
|
|
| |
[-Wc++11-extensions]
llvm-svn: 184972
|
|
|
|
| |
llvm-svn: 184970
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows clang to parse the type_traits header in Visual Studio 2012,
which is included widely in practice.
This is a rework of r163022 by João Matos. The original patch broke
preprocessing of gtest headers, which this patch addresses.
Patch by Will Wilson!
llvm-svn: 184968
|
|
|
|
|
|
| |
here. Should be matched to single \ with '\\'.
llvm-svn: 184952
|
|
|
|
|
|
|
| |
Instead of creating a temporary directory, remember the set of temporary files
we create.
llvm-svn: 184951
|
|
|
|
| |
llvm-svn: 184949
|
|
|
|
| |
llvm-svn: 184945
|
|
|
|
| |
llvm-svn: 184942
|
|
|
|
|
|
| |
unsigned types.
llvm-svn: 184941
|
|
|
|
| |
llvm-svn: 184940
|
|
|
|
| |
llvm-svn: 184939
|
|
|
|
| |
llvm-svn: 184938
|
|
|
|
| |
llvm-svn: 184937
|
|
|
|
| |
llvm-svn: 184936
|
|
|
|
|
|
|
|
|
| |
path separator on MSYS bash.exe, since r184774.
$ bin/clang.exe -print-file-name=include
e:/path/to/build/bin\..\lib\clang\3.4\include
llvm-svn: 184930
|
|
|
|
| |
llvm-svn: 184922
|
|
|
|
| |
llvm-svn: 184921
|