| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Early support for __format__attribute on blocks. | Fariborz Jahanian | 2009-05-15 | 1 | -4/+32 |
| | | | | | | | Work in progress... llvm-svn: 71908 | ||||
| * | Basic support for member exprs where the base expr type is dependent. | Anders Carlsson | 2009-05-15 | 2 | -1/+20 |
| | | | | | llvm-svn: 71907 | ||||
| * | Classes with "+load" methods need to go in the non-lazy class list (or | Daniel Dunbar | 2009-05-15 | 1 | -10/+40 |
| | | | | | | | else the method will not be found by the runtime at class load time). llvm-svn: 71904 | ||||
| * | Template instantiation for break and continue statements. | Douglas Gregor | 2009-05-15 | 2 | -0/+19 |
| | | | | | llvm-svn: 71903 | ||||
| * | Template instantiation for "for" loops | Douglas Gregor | 2009-05-15 | 4 | -2/+34 |
| | | | | | llvm-svn: 71901 | ||||
| * | Template instantiation for do-while statements. | Douglas Gregor | 2009-05-15 | 4 | -11/+33 |
| | | | | | llvm-svn: 71899 | ||||
| * | Factor code for adding module-level class lists into separate method. | Daniel Dunbar | 2009-05-15 | 1 | -43/+43 |
| | | | | | | | - No functionality change. llvm-svn: 71898 | ||||
| * | Fixup parsing for (throw,throw) and __extension__ throw 1. | Mike Stump | 2009-05-15 | 1 | -9/+2 |
| | | | | | llvm-svn: 71897 | ||||
| * | Template instantiation for WhileStmt and CXXConditionDeclExpr. | Douglas Gregor | 2009-05-15 | 3 | -11/+44 |
| | | | | | llvm-svn: 71896 | ||||
| * | Make sure that we use the canonical type for the names of instantiated | Douglas Gregor | 2009-05-15 | 2 | -3/+7 |
| | | | | | | | | | | | constructors and destructors. This is a requirement of DeclarationNameTable::getCXXSpecialName that we weren't assert()'ing, so it should have been caught much earlier :( Big thanks to Anders for the test case. llvm-svn: 71895 | ||||
| * | improved on diagnosing misplacement of sentinel attributes. | Fariborz Jahanian | 2009-05-15 | 2 | -5/+6 |
| | | | | | | | No change in functionality. llvm-svn: 71894 | ||||
| * | Allow instantiation of NULL expressions and statements | Douglas Gregor | 2009-05-15 | 2 | -0/+6 |
| | | | | | llvm-svn: 71889 | ||||
| * | This patch finishes off the sentinel attribute handling for | Fariborz Jahanian | 2009-05-15 | 2 | -9/+34 |
| | | | | | | | blocks and function pointers. llvm-svn: 71888 | ||||
| * | I take it back, InstantiateExpr does not check for null. | Anders Carlsson | 2009-05-15 | 1 | -4/+7 |
| | | | | | llvm-svn: 71887 | ||||
| * | Instantiation support for 'this' | Anders Carlsson | 2009-05-15 | 1 | -0/+12 |
| | | | | | llvm-svn: 71886 | ||||
| * | No need to null check the expr, Sema::SemaRef.InstantiateExpr handles all that. | Anders Carlsson | 2009-05-15 | 1 | -7/+4 |
| | | | | | llvm-svn: 71885 | ||||
| * | Make sure that the type associated with a class template is dependent. | Douglas Gregor | 2009-05-15 | 2 | -3/+14 |
| | | | | | llvm-svn: 71878 | ||||
| * | Template instantiation for "if" statements. Also: | Douglas Gregor | 2009-05-15 | 4 | -12/+38 |
| | | | | | | | | | - Skip semantic analysis of the "if" condition if it is type-dependent. - Added the location of the "else" keyword into IfStmt, so that we can provide it for type-checking after template instantiation. llvm-svn: 71875 | ||||
| * | A C++ member function always has either weak linkage (if it's inline or ↵ | Anders Carlsson | 2009-05-15 | 1 | -0/+8 |
| | | | | | | | defined inline) or strong linkage (other cases). llvm-svn: 71873 | ||||
| * | Move statement instantiation into its own file. No functionality change | Douglas Gregor | 2009-05-15 | 3 | -132/+153 |
| | | | | | llvm-svn: 71872 | ||||
| * | When word-wrapping, be more defensive about a ridiculously small number of ↵ | Douglas Gregor | 2009-05-15 | 1 | -2/+4 |
| | | | | | | | columns. Fixes <rdar://problem/6892178> llvm-svn: 71870 | ||||
| * | Call ActOnStartOfFunctionDecl/ActOnFinishFunctionBody when | Douglas Gregor | 2009-05-15 | 4 | -15/+25 |
| | | | | | | | instantiating the definition of a function from a template. llvm-svn: 71869 | ||||
| * | Name mangling for class template specializations and template arguments. | Anders Carlsson | 2009-05-15 | 1 | -2/+64 |
| | | | | | llvm-svn: 71861 | ||||
| * | Fix processing of -Ufoo to not inject "#undef foo 1" into the predefines | Chris Lattner | 2009-05-15 | 1 | -1/+11 |
| | | | | | | | | | | | | | | | | | buffer. This caused exciting nonsense like this: $ clang t.c -fsyntax-only -UMACRO In file included from <built-in>:104: <command line>:1:14: warning: extra tokens at end of #undef directive [-Wextra-tokens] #undef MACRO 1 ^ // 1 diagnostic generated. rdar://6891800 llvm-svn: 71860 | ||||
| * | Fix crash when deriving the enclosing summary of a method whose first ↵ | Ted Kremenek | 2009-05-15 | 1 | -12/+16 |
| | | | | | | | selector slot has a null IdentifierInfo*. This happens when analyzing Growl. llvm-svn: 71857 | ||||
| * | Remove extra whitespace character in string literal. Purely cosmetic. | Ted Kremenek | 2009-05-15 | 1 | -1/+1 |
| | | | | | llvm-svn: 71847 | ||||
| * | Use dyn_cast instead of cast to allow our assumptions to be safely wrong. | Ted Kremenek | 2009-05-15 | 1 | -4/+12 |
| | | | | | llvm-svn: 71843 | ||||
| * | Cleanup internal checks bug reporting, allowing intermediate diagnostics to ↵ | Ted Kremenek | 2009-05-15 | 1 | -71/+134 |
| | | | | | | | be generated for bad argument warnings, bad branches, etc. llvm-svn: 71838 | ||||
| * | BugReporter (extensive diagnostics): Do not include the range of target '}' | Ted Kremenek | 2009-05-15 | 1 | -4/+6 |
| | | | | | llvm-svn: 71832 | ||||
| * | PathDiagnosticLocation::asRange(): for a PathDiagnosticLocation, the range ↵ | Ted Kremenek | 2009-05-15 | 1 | -0/+9 |
| | | | | | | | | | of a DeclStmt is only the decl, not the decl + initializer. llvm-svn: 71831 | ||||
| * | BugReporter (extensive diagnostics): Add control-flow piece to '}' in | Ted Kremenek | 2009-05-15 | 1 | -16/+36 |
| | | | | | | | | loop body when generating 'Looping back to the head of the loop' diagnostics. llvm-svn: 71829 | ||||
| * | Instantiate return statements. | Anders Carlsson | 2009-05-15 | 2 | -1/+15 |
| | | | | | llvm-svn: 71825 | ||||
| * | Fixup debug information for the location information for __block | Mike Stump | 2009-05-15 | 1 | -2/+4 |
| | | | | | | | | | | | | | | | | | | | | | variables. For this to work, the backend needs to handle more complex forms for locations. A typical utterance would be: %forwarding = getelementptr %0* %use_by_ref, i32 0, i32 1 ; <i8**> [#uses=1] %0 = load i8** %forwarding ; <i8*> [#uses=1] %1 = bitcast i8* %0 to %0* ; <%0*> [#uses=1] %x = getelementptr %0* %1, i32 0, i32 4 ; <i32*> [#uses=1] %2 = bitcast i32* %x to { }* ; <{ }*> [#uses=1] call void @llvm.dbg.declare({ }* %2, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable to { }*)) Presently when selection finds something it doesn't understand, it just avoids generating any information, which is safe, just incomplete. Radar 6867696 llvm-svn: 71824 | ||||
| * | Add NullStmt::Clone and use it | Anders Carlsson | 2009-05-15 | 2 | -1/+5 |
| | | | | | llvm-svn: 71823 | ||||
| * | Instantiate goto and label statements. (Very useful, I know) | Anders Carlsson | 2009-05-15 | 1 | -0/+18 |
| | | | | | llvm-svn: 71822 | ||||
| * | Implement template instantiation for DeclStmt | Douglas Gregor | 2009-05-15 | 3 | -2/+34 |
| | | | | | llvm-svn: 71818 | ||||
| * | Don't warn if result/argument type of an implemented | Fariborz Jahanian | 2009-05-14 | 3 | -2/+15 |
| | | | | | | | | method is a qualified id which conforms to the matching type of its method declaration. llvm-svn: 71817 | ||||
| * | Template instantiation for the NULL statement. Lame, I know | Douglas Gregor | 2009-05-14 | 1 | -0/+5 |
| | | | | | llvm-svn: 71816 | ||||
| * | Introduce basic support for instantiating the definitions of member | Douglas Gregor | 2009-05-14 | 5 | -15/+121 |
| | | | | | | | | functions of class templates. Only compound statements and expression statements are currently implemented. llvm-svn: 71814 | ||||
| * | Check that the function being overridden is virtual. | Anders Carlsson | 2009-05-14 | 4 | -6/+8 |
| | | | | | llvm-svn: 71802 | ||||
| * | Improvements to the FunctionDecl getters/setters. | Anders Carlsson | 2009-05-14 | 4 | -7/+7 |
| | | | | | llvm-svn: 71800 | ||||
| * | Introduce a stack of instantiation scopes that are used to store the mapping ↵ | Douglas Gregor | 2009-05-14 | 4 | -1/+87 |
| | | | | | | | from variable declarations that occur within templates to their instantiated counterparts llvm-svn: 71799 | ||||
| * | Fix <rdar://problem/6859457> [NSData dataWithBytesNoCopy] does not return a ↵ | Ted Kremenek | 2009-05-14 | 1 | -0/+9 |
| | | | | | | | retained object. llvm-svn: 71797 | ||||
| * | Link FunctionDecls instantiated from the member functions of a class | Douglas Gregor | 2009-05-14 | 3 | -6/+24 |
| | | | | | | | | | template to the FunctionDecls from which they were instantiated. This is a necessary first step to support instantiation of the definitions of such functions, but by itself does essentially nothing. llvm-svn: 71792 | ||||
| * | updated comments. | Fariborz Jahanian | 2009-05-14 | 1 | -3/+2 |
| | | | | | llvm-svn: 71790 | ||||
| * | Adds recognition of sentinel attribute on block declarations. | Fariborz Jahanian | 2009-05-14 | 2 | -3/+37 |
| | | | | | llvm-svn: 71788 | ||||
| * | Better diagnostics for covariance when checking overriding return types. | Anders Carlsson | 2009-05-14 | 1 | -6/+65 |
| | | | | | llvm-svn: 71786 | ||||
| * | When there are any member new operators, global versions aren't looked up at ↵ | Sebastian Redl | 2009-05-14 | 1 | -2/+0 |
| | | | | | | | all. llvm-svn: 71780 | ||||
| * | Diagnose missing sentinel argument on a funciton call | Fariborz Jahanian | 2009-05-14 | 1 | -17/+39 |
| | | | | | | | with sentinel attribute. llvm-svn: 71778 | ||||
| * | Skip the asm prefix when storing the name in block info. | Daniel Dunbar | 2009-05-14 | 1 | -2/+6 |
| | | | | | | | | | | | | - Otherwise we emit internal names with embedded '\01' characters, which confuses some tools. - Ideally all the code which wants to get a "display name" for the given function should follow one code path, but this should be a monotonic improvement for now. llvm-svn: 71774 | ||||

