- Mar 30, 2010
-
-
Rafael Espindola authored
This introduces FunctionType::ExtInfo to hold the calling convention and the noreturn attribute. The next patch will extend it to include the regparm attribute and fix the bug. llvm-svn: 99920
-
Fariborz Jahanian authored
objective-c methods. (radar 7418262). llvm-svn: 99903
-
Anders Carlsson authored
Fix a bug where we would incorrectly report an error about initializing two fields in an anonymous struct. llvm-svn: 99891
-
Anders Carlsson authored
llvm-svn: 99889
-
Douglas Gregor authored
cache of PartialDiagnostic::Storage objects into an allocator within the ASTContext. This eliminates a significant amount of malloc traffic, for a 10% performance improvement in -fsyntax-only wall-clock time with 403.gcc's combine.c. Also, eliminate the RequireNonAbstractType hack I put in earlier, which was but a symptom of this larger problem. Fixes <rdar://problem/7806091>. llvm-svn: 99849
-
- Mar 29, 2010
-
-
Douglas Gregor authored
a 2.47% speedup in 403.gcc. llvm-svn: 99830
-
Douglas Gregor authored
end of a struct/class/union in C++, from Justin Bogner! llvm-svn: 99811
-
Rafael Espindola authored
This patch moves some methods from QualType to Type and changes the users to use -> instead of . llvm-svn: 99805
-
- Mar 28, 2010
-
-
Douglas Gregor authored
check deduced non-type template arguments and template template arguments against the template parameters for which they were deduced, performing conversions as appropriate so that deduced template arguments get the same treatment as explicitly-specified template arguments. This is the bulk of PR6723. Also keep track of whether deduction of a non-type template argument came from an array bound (vs. anywhere else). With this information, we enforce C++ [temp.deduct.type]p17, which requires exact type matches when deduction deduces a non-type template argument from something that is not an array bound. Finally, when in a SFINAE context, translate the "zero sized arrays are an extension" extension diagnostic into a hard error (for better standard conformance), which was a minor part of PR6723. llvm-svn: 99734
-
- Mar 27, 2010
-
-
Fariborz Jahanian authored
whose protocolls methods needs implementation. llvm-svn: 99730
-
Fariborz Jahanian authored
of objc classes; including which methods need be implemented and where they come from. WIP. llvm-svn: 99724
-
John McCall authored
nested within, and suddenly local classes start working. Wouldn't be necessary if I hadn't used local classes in Clang in the first place. Or, well, wouldn't be necessary yet. :) llvm-svn: 99709
-
John McCall authored
llvm-svn: 99708
-
Douglas Gregor authored
llvm-svn: 99666
-
John McCall authored
lexical context. This is required for ADL to work properly; fixes PR6716. llvm-svn: 99665
-
- Mar 26, 2010
-
-
Douglas Gregor authored
namespace aliases. Fixes PR6341. llvm-svn: 99664
-
Ted Kremenek authored
attribute to a FunctionDecl. llvm-svn: 99662
-
Douglas Gregor authored
through the bases and fields of the definition of the class in which the constructor is declared, rather than some other declaration of that class. llvm-svn: 99661
-
Douglas Gregor authored
expression can be converted to the type of another, only apply the lvalue-to-rvalue conversion to the type of the expression we're converting, *not* the array-to-pointer or function-to-pointer conversions. Fixes PR6595. llvm-svn: 99652
-
Douglas Gregor authored
re-route its only caller to the newer PerformCopyInitialization(). We're down to one remaining caller of Sema::CheckReferenceInit. llvm-svn: 99650
-
Douglas Gregor authored
CheckReferenceInit to using the new initialization sequence code. llvm-svn: 99647
-
Douglas Gregor authored
llvm-svn: 99615
-
Douglas Gregor authored
parameter, keep the integral value exactly as it was in the source code rather than trying to convert it to the type of the non-type template parameter (which may still be dependent!). The value will then be converted to the appropriate type once we check the resulting template arguments. Fixes PR6707. llvm-svn: 99611
-
John McCall authored
pattern if it has a body. llvm-svn: 99610
-
John McCall authored
llvm-svn: 99601
-
Douglas Gregor authored
that we extend/truncate then correct the sign to convert the non-type template argument to the template parameter's type. Previously, we reported an error when the non-type template argument was out of range; now we just warn. llvm-svn: 99600
-
John McCall authored
llvm-svn: 99596
-
Douglas Gregor authored
llvm-svn: 99583
-
Rafael Espindola authored
Fixes PR6706. llvm-svn: 99582
-
- Mar 25, 2010
-
-
Douglas Gregor authored
the type of its corresponding non-type template parameter changes the value. Previously, we were diagnosing this as an error, which was wrong. We give reasonably nice warnings like: test/SemaTemplate/temp_arg_nontype.cpp:100:10: warning: non-type template argument value '256' truncated to '0' for template parameter of type 'unsigned char' Overflow<256> *overflow3; // expected-warning{{non-type template ... ^~~ test/SemaTemplate/temp_arg_nontype.cpp:96:24: note: template parameter is declared here template<unsigned char C> struct Overflow; ^ llvm-svn: 99561
-
Douglas Gregor authored
how to handle a diagnostic during template argument deduction, which may be "substitution failure", "suppress", or "report". This keeps us from, e.g., emitting warnings while performing template argument deduction. llvm-svn: 99560
-
John McCall authored
doing all the cleanup tasks and checks. This gives us the proper context for checking access to base and member destructors. llvm-svn: 99559
-
John McCall authored
friendship for a derived class if the base class specifier was non-public, and thus not considering friendship for non-public members of public bases. llvm-svn: 99554
-
John McCall authored
we look for shadow friend decls in the appropriate scope before injecting a new declaration. llvm-svn: 99552
-
John McCall authored
llvm-svn: 99525
-
Daniel Dunbar authored
gcc, and the common expectation seems to be that they are unused. If and when someone cares we can add them back with well documented demantics. llvm-svn: 99522
-
Douglas Gregor authored
- When substituting template arguments as part of template argument deduction, introduce a new local instantiation scope. - When substituting into a function prototype type, introduce a new "temporary" local instantiation scope that merges with its outer scope but also keeps track of any additions it makes, removing them when we exit that scope. Fixes PR6700, where we were getting too much mixing of local instantiation scopes due to template argument deduction that substituted results into function types. llvm-svn: 99509
-
John McCall authored
the redeclaration chain. Recommitted from r99477 with a fix: we need to merge in default template arguments from previous declarations. llvm-svn: 99496
-
Bob Wilson authored
buildbot. The tramp3d test fails. --- Reverse-merging r99477 into '.': U test/SemaTemplate/friend-template.cpp U test/CXX/temp/temp.decls/temp.friend/p1.cpp U lib/Sema/SemaTemplateInstantiateDecl.cpp U lib/Sema/SemaAccess.cpp llvm-svn: 99481
-
Ted Kremenek authored
(1) Do not assume the data arguments start after the format string (2) Do not use the fact that a function is variadic to treat it like a va_list printf function Fixes PR 6697. llvm-svn: 99480
-