- Jun 28, 2013
-
-
Alexander Kornienko authored
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
-
Richard Smith authored
module deserialization / merging, and more laziness here is general goodness. llvm-svn: 185132
-
Rafael Espindola authored
llvm-svn: 185127
-
Eli Friedman authored
llvm-svn: 185119
-
Eli Friedman authored
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
-
Richard Smith authored
initialized during aggregate initialization of the surrounding structure. llvm-svn: 185117
-
Peter Collingbourne authored
Differential Revision: http://llvm-reviews.chandlerc.com/D1051 llvm-svn: 185115
-
John McCall authored
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
-
- Jun 27, 2013
-
-
Michael Gottesman authored
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
-
Richard Smith authored
its only caller with a FIXME explaining why it's bogus. llvm-svn: 185109
-
Eli Friedman authored
llvm-svn: 185108
-
Eli Friedman authored
llvm-svn: 185103
-
Eli Friedman authored
llvm-svn: 185101
-
Douglas Gregor authored
Under -fms-extensions, only inject a friend tag name when we didn't see a 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
-
Eli Friedman authored
llvm-svn: 185098
-
Rafael Espindola authored
* 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
-
Joey Gouly authored
llvm-svn: 185075
-
Larisse Voufo authored
llvm-svn: 185058
-
Larisse Voufo authored
Fix a conversion to incomplete type bug -- The error message now specifically states that the type is incomplete and points to the forward declaration of the incomplete type. llvm-svn: 185056
-
Eli Friedman authored
llvm-svn: 185053
-
Eli Friedman authored
llvm-svn: 185042
-
Eli Friedman authored
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
-
Richard Smith authored
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
-
David Majnemer authored
llvm-svn: 185029
-
Fariborz Jahanian authored
private ivars in class extensions and class @implementation. // rdar://14278560 llvm-svn: 185025
-
- Jun 26, 2013
-
-
Joerg Sonnenberger authored
Fixes -Werror bootstrap. llvm-svn: 185023
-
Aaron Ballman authored
Patch thanks to Robert Wilhelm. llvm-svn: 185022
-
David Majnemer authored
llvm-svn: 185021
-
Rafael Espindola authored
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
-
Eli Friedman authored
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
-
Aaron Ballman authored
llvm-svn: 185014
-
Aaron Ballman authored
llvm-svn: 185013
-
Nico Weber authored
llvm-svn: 184972
-
Joey Gouly authored
llvm-svn: 184970
-
Reid Kleckner authored
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
-
NAKAMURA Takumi authored
clang/test/Driver/pth.c: Fix r184942, a regexp like "\\\\" is redundant here. Should be matched to single \ with '\\'. llvm-svn: 184952
-
Rafael Espindola authored
Instead of creating a temporary directory, remember the set of temporary files we create. llvm-svn: 184951
-
Rafael Espindola authored
llvm-svn: 184949
-
Rafael Espindola authored
llvm-svn: 184945
-
Rafael Espindola authored
llvm-svn: 184942
-