summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
Commit message (Collapse)AuthorAgeFilesLines
* Template instantiation for __builtin_shufflevector.Douglas Gregor2009-05-193-33/+122
| | | | llvm-svn: 72139
* Template instantiation for __builtin_types_compatible_p.Douglas Gregor2009-05-191-0/+21
| | | | llvm-svn: 72134
* Template instantiation for GNU statement expressionsDouglas Gregor2009-05-191-0/+12
| | | | llvm-svn: 72129
* Fix handling of the GNU "t ? : f" extension to the conditionalDouglas Gregor2009-05-191-8/+8
| | | | | | | operator in C++, and verify that template instantiation for the condition operator does the right thing. llvm-svn: 72127
* Template instantiation for compound assignment operators.Douglas Gregor2009-05-191-0/+7
| | | | llvm-svn: 72126
* Template instantiation for cast expressions.Douglas Gregor2009-05-191-0/+121
| | | | llvm-svn: 72119
* Patch finishes off application of printf attribute on blocks.Fariborz Jahanian2009-05-192-5/+10
| | | | llvm-svn: 72111
* Create CXXConstructExpr calls for arguments passed to functions.Anders Carlsson2009-05-191-3/+7
| | | | llvm-svn: 72102
* When assigning from an rvalue to a const reference, the implicit cast from T ↵Anders Carlsson2009-05-191-1/+1
| | | | | | -> const T is not an lvalue cast. llvm-svn: 72082
* Template instantiation for call expressions.Douglas Gregor2009-05-191-9/+56
| | | | llvm-svn: 72081
* Template instantiation for array subscript expressions. This was farDouglas Gregor2009-05-193-1/+41
| | | | | | | easier than expected because of the limitation that subscript operators must be member functions. llvm-svn: 72076
* BlockDecl node must be complete before block attributesFariborz Jahanian2009-05-181-2/+2
| | | | | | can be processed. No change in functionality. llvm-svn: 72066
* Template instantiation for imaginary literals, because they were next in Expr.hDouglas Gregor2009-05-181-0/+6
| | | | llvm-svn: 72058
* Fix sorting of using directives, from Jay FoadDouglas Gregor2009-05-181-1/+1
| | | | llvm-svn: 72048
* Deal with an icky corner case where we were complaining that a catchDouglas Gregor2009-05-181-1/+1
| | | | | | | | | statement was using an rvalue reference during the template definition. However, template instantiations based on an lvalue reference type are well-formed, so we delay checking of these property until template instantiation time. llvm-svn: 72041
* more printf attribute on block declaration andFariborz Jahanian2009-05-183-0/+32
| | | | | | checking when block is envoked. In progress. llvm-svn: 72039
* Template instantiation for C++ try/catch statements.Douglas Gregor2009-05-184-24/+108
| | | | llvm-svn: 72035
* Include StmtNodes.def to declare Visit methods for all of the knownDouglas Gregor2009-05-181-19/+87
| | | | | | | | kinds of statements (in the instantiation logic). No functionality change, but now we'll get linker errors if we add a statement but forget to introduce its instantiation logic. llvm-svn: 72031
* Simplify struct/class tag mismatch warning, per Sebastian's suggestionDouglas Gregor2009-05-181-1/+0
| | | | llvm-svn: 72027
* Minor tweak to support format attribute on blocks. No change in functionality.Fariborz Jahanian2009-05-181-3/+3
| | | | llvm-svn: 72020
* When instantiating the definition of a member function of a classDouglas Gregor2009-05-184-28/+44
| | | | | | | | | | | | | | template, introduce that member function into the template instantiation stack. Also, add diagnostics showing the member function within the instantiation stack and clean up the qualified-name printing so that we get something like: note: in instantiation of member function 'Switch1<int, 2, 2>::f' requested here in the template instantiation backtrace. llvm-svn: 72015
* Make ActOnWhileStmt take a FullExprArg for the condition expr.Anders Carlsson2009-05-173-7/+8
| | | | llvm-svn: 71990
* Make ActOnExprStmt take a FullExprArg.Anders Carlsson2009-05-172-3/+3
| | | | llvm-svn: 71989
* Fix instantiate-function-1.cpp.Anders Carlsson2009-05-171-1/+0
| | | | llvm-svn: 71988
* Fix DISABLE_SMART_POINTERS build.Anders Carlsson2009-05-171-1/+2
| | | | llvm-svn: 71984
* Implement Sema::ActOnFinishFullExpr and create a CXXExprWithTemporaries node ↵Anders Carlsson2009-05-172-3/+30
| | | | | | if necessary. llvm-svn: 71983
* Add the FullExprArg wrapper and use it for if statement conditions.Anders Carlsson2009-05-173-8/+14
| | | | llvm-svn: 71982
* Add FIXME about not using MemberExpr nodes when the base type is a dependent ↵Anders Carlsson2009-05-171-0/+4
| | | | | | type. llvm-svn: 71979
* Rewrite PureVirtualMethodCollector to use the overridden methods. Fixes ↵Anders Carlsson2009-05-171-22/+26
| | | | | | <rdar://problem/6854087> llvm-svn: 71970
* Add OldMD to the list of methods NewMD overridesAnders Carlsson2009-05-161-6/+2
| | | | llvm-svn: 71969
* Refactor address-of-void extension a bit so that it's more obviouslyEli Friedman2009-05-161-7/+10
| | | | | | correct. No functionality change, as far as I know. llvm-svn: 71965
* Fix another case where the extern-ness of extern "C" wasn't being captured. Anders Carlsson2009-05-161-1/+2
| | | | | | This makes me think that we should make hasExternalStorage perform this check... llvm-svn: 71962
* Don't return member pointer types for static member functions. Fixes 6879261.Anders Carlsson2009-05-161-9/+5
| | | | llvm-svn: 71961
* Improve checking of member expressions where the base type is a dependent type.Anders Carlsson2009-05-161-10/+16
| | | | llvm-svn: 71956
* Implement instantiation of a few boring, simple expressions. I don't think ↵Sebastian Redl2009-05-161-2/+44
| | | | | | these are testable yet, though. llvm-svn: 71953
* Avoid calling mergeTypes in C++. I think these are the correct C++ Eli Friedman2009-05-162-9/+25
| | | | | | | | | | | | alternatives, but please correct me if I'm wrong. I eventually plan to assert in mergeTypes that we aren't in C++ mode because composite types are fundamentally not a part of C++. The remaining callers for code in the regression tests are Sema::WarnConflictingTypedMethods and CodeGenFunction::EmitFunctionProlog; I'm not quite sure what the correct approach is for those callers. llvm-svn: 71946
* Add stricter checking for va_arg.Eli Friedman2009-05-161-7/+13
| | | | llvm-svn: 71942
* PR2044: reject declarations of functions returning variably modified Eli Friedman2009-05-161-0/+7
| | | | | | types. llvm-svn: 71941
* PR3009: Get rid of bogus warning for scalar compound literals.Eli Friedman2009-05-161-1/+1
| | | | | | | | | This patch isn't quite ideal in that it eliminates the warning for constructs like "int a = {1};", where the braces are in fact redundant. However, that would have required a bunch of refactoring, and it's much less likely to cause confusion compared to redundant nested braces. llvm-svn: 71939
* Reflow some comments.Mike Stump2009-05-1617-212/+189
| | | | llvm-svn: 71936
* Implement a FIXME, we now pass in the locations of the braces for enums.Mike Stump2009-05-163-5/+7
| | | | llvm-svn: 71930
* Remove useless wrapper.Eli Friedman2009-05-162-12/+1
| | | | llvm-svn: 71928
* Template instantiation for IndirectGotoStmt. Now my life is complete.Douglas Gregor2009-05-162-7/+21
| | | | llvm-svn: 71917
* Template instantiation for switch statementsDouglas Gregor2009-05-152-116/+210
| | | | llvm-svn: 71916
* Removed superfluous code.Fariborz Jahanian2009-05-151-11/+0
| | | | llvm-svn: 71909
* Early support for __format__attribute on blocks.Fariborz Jahanian2009-05-151-4/+32
| | | | | | Work in progress... llvm-svn: 71908
* Basic support for member exprs where the base expr type is dependent.Anders Carlsson2009-05-151-1/+15
| | | | llvm-svn: 71907
* Template instantiation for break and continue statements.Douglas Gregor2009-05-151-0/+11
| | | | llvm-svn: 71903
* Template instantiation for "for" loopsDouglas Gregor2009-05-152-2/+30
| | | | llvm-svn: 71901
* Template instantiation for do-while statements.Douglas Gregor2009-05-152-11/+31
| | | | llvm-svn: 71899
OpenPOWER on IntegriCloud