- Oct 27, 2012
-
-
Rafael Espindola authored
llvm-svn: 166878
-
Rafael Espindola authored
llvm-svn: 166876
-
Rafael Espindola authored
llvm-svn: 166866
-
Rafael Espindola authored
to reduce. llvm-svn: 166863
-
-
Rafael Espindola authored
jump over destructor calls. Fixes pr13812. llvm-svn: 166855
-
Argyrios Kyrtzidis authored
is at the end of parsed tokens when an error occurs, otherwise we'll hit an assertion when trying to annotate the decltype tokens. llvm-svn: 166826
-
- Oct 25, 2012
-
-
Richard Smith authored
rebuilds a function type, and that function type has parens around its name. llvm-svn: 166644
-
- Oct 24, 2012
-
-
David Blaikie authored
llvm-svn: 166625
-
Eli Friedman authored
llvm-svn: 166619
-
Eli Friedman authored
Don't print scope qualifiers for references to a type defined locally in a function. Patch by Grzegorz Jablonski. llvm-svn: 166617
-
Eli Friedman authored
Add an additional test for namespaces and -Wmissing-variable-declarations. Move C++ test into SemaCXX. llvm-svn: 166616
-
Rafael Espindola authored
Paul Robinson. llvm-svn: 166606
-
- Oct 23, 2012
-
-
Eli Friedman authored
llvm-svn: 166500
-
Matt Beaumont-Gay authored
to dependent arguments. llvm-svn: 166468
-
Richard Smith authored
libraries have an incorrect definition of std::common_type (inherited from a bug in the standard -- see LWG issue 2141), whereby they produce reference types when they should not. If we instantiate a typedef named std::common_type<...>::type, which is defined in a system header as decltype(... ? ... : ...), and the decltype produces a reference type, convert it to the non-reference type. (This doesn't affect any LWG2141-conforming implementation of common_type, such as libc++'s, because the default implementation of common_type<...>::type isn't supposed to produce a reference type.) This is horrible. I'm really sorry. :( Better ideas appreciated! llvm-svn: 166455
-
- Oct 21, 2012
-
-
Richard Smith authored
found: if an overloaded operator& is present before a template definition, the expression &T::foo is represented as a CXXOperatorCallExpr, not as a UnaryOperator, so we didn't notice that it's permitted to reference a non-static data member of an unrelated class. While investigating this, I discovered another problem in this area: we are treating template default arguments as unevaluated contexts during substitution, resulting in performing incorrect checks for uses of non-static data members in C++11. That is not fixed by this patch (I'll look into this soon; it's related to the failure to correctly instantiate constexpr function templates), but was resulting in this bug not firing in C++11 mode (except with -Wc++98-compat). Original message: PR14124: When performing template instantiation of a qualified-id outside of a class, diagnose if the qualified-id instantiates to a non-static class member. llvm-svn: 166385
-
- Oct 20, 2012
-
-
Logan Chien authored
llvm-svn: 166369
-
Richard Smith authored
initialized by a reference constant expression. Our odr-use modeling still needs work here: we don't yet implement the 'set of potential results of an expression' DR. llvm-svn: 166361
-
- Oct 19, 2012
-
-
Eli Friedman authored
llvm-svn: 166311
-
Andy Gibbs authored
Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. llvm-svn: 166280
-
Nick Lewycky authored
Richard has an unreduced testcase to work with. llvm-svn: 166272
-
Richard Smith authored
class, diagnose if the qualified-id instantiates to a non-static class member. llvm-svn: 166268
-
David Blaikie authored
llvm-svn: 166254
-
- Oct 18, 2012
-
-
Eli Friedman authored
llvm-svn: 166237
-
Eli Friedman authored
Remove check which incorrectly suppressed printing an identifier in type printing. Patch by Benoit Perrot. llvm-svn: 166227
-
Eli Friedman authored
Based on patch by Grzegorz Jablonski. llvm-svn: 166226
-
Richard Smith authored
expressions, not *any* typeid on a polymorphic class type. llvm-svn: 166156
-
David Blaikie authored
Fix -Woverloaded-virtual when the using statement refers to a base declaration of a virtual function. GCC and Clang both do not warn on: struct a { virtual void func(); }; struct b: a { virtual void func(); void func(int); }; struct c: b { void func(int); using b::func; }; but if the "using" was using a::func GCC would still remain silent where Clang would warn. This change makes Clang consistent with GCC's existing behavior. llvm-svn: 166154
-
Fariborz Jahanian authored
off. // rdar://12501960 llvm-svn: 166150
-
- Oct 17, 2012
-
-
Richard Smith authored
llvm-svn: 166090
-
Eli Friedman authored
llvm-svn: 166078
-
- Oct 16, 2012
-
-
David Blaikie authored
This implementation doesn't warn on anything that GCC doesn't warn on with the exception of templates specializations (GCC doesn't warn, Clang does). The specific skipped cases (boolean, constant expressions, enums) are open for debate/adjustment if anyone wants to demonstrate that GCC is being overly conservative here. The only really obvious false positive I found was in the Clang regression suite's MPI test - apparently MPI uses specific flag values in pointer constants. (eg: #define FOO (void*)~0) llvm-svn: 166039
-
- Oct 12, 2012
-
-
DeLesley Hutchins authored
declarations. llvm-svn: 165826
-
- Oct 11, 2012
-
-
Eli Friedman authored
Make sure we perform the variadic method check correctly for calls to a member operator(). PR14057. llvm-svn: 165678
-
David Blaikie authored
auto x((unknown)); int& y = x; would crash because we were not flagging 'x' as an invalid declaration here. llvm-svn: 165675
-
- Oct 10, 2012
-
-
Argyrios Kyrtzidis authored
constructor with invalid code. rdar://12240916 llvm-svn: 165623
-
- Oct 06, 2012
-
-
DeLesley Hutchins authored
llvm-svn: 165339
-
- Oct 05, 2012
-
-
Richard Smith authored
a non-inline namespace, then reopens it as inline to try to add its symbols to the surrounding namespace. In this one special case, permit the namespace to be reopened as inline, and patch up the name lookup tables to match. llvm-svn: 165263
-
- Oct 03, 2012
-
-
Michael Han authored
- General C++11 attributes were previously parsed and ignored. Now they are parsed and stored in AST. - Add support to parse arguments of attributes that in 'gnu' namespace. - Differentiate unknown attributes and known attributes that can't be applied to statements when emitting diagnostic. llvm-svn: 165082
-