Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | twiks based on Chris's comment. No need to iterate thru a list of declarations | Fariborz Jahanian | 2008-01-05 | 1 | -8/+3 | |
| | | | | | | in a foreach-statement which is illegal (but not yet caught) . llvm-svn: 45615 | |||||
* | Minor refactoring of foreach's semantics code per Chris's suggetion. | Fariborz Jahanian | 2008-01-04 | 3 | -5/+5 | |
| | | | | llvm-svn: 45604 | |||||
* | unnest vector handling again. | Chris Lattner | 2008-01-04 | 1 | -23/+23 | |
| | | | | llvm-svn: 45602 | |||||
* | we already test for exact type matches early, so we don't have to do | Chris Lattner | 2008-01-04 | 1 | -16/+13 | |
| | | | | | | it explicitly for vectors. This allows us to unnest some code. llvm-svn: 45600 | |||||
* | simplify some of this code by removing the else/if chain and by | Chris Lattner | 2008-01-04 | 1 | -8/+25 | |
| | | | | | | stripping down to canonical types early. llvm-svn: 45599 | |||||
* | move objc expr sema to its own file. | Chris Lattner | 2008-01-04 | 2 | -280/+295 | |
| | | | | llvm-svn: 45597 | |||||
* | add comments for the various AssignConvertType's, and split int->pointer ↵ | Chris Lattner | 2008-01-04 | 2 | -8/+35 | |
| | | | | | | from pointer->int. llvm-svn: 45591 | |||||
* | Merge all the 'assignment' diagnostic code into one routine, decloning | Chris Lattner | 2008-01-04 | 4 | -271/+132 | |
| | | | | | | | | | | | | | it from several places. This merges the diagnostics, making them more uniform and fewer in number. This also simplifies and cleans up the code. Some highlights: 1. This removes a bunch of very-similar diagnostics. 2. This renames AssignmentCheckResult -> AssignConvertType 3. This merges PointerFromInt + IntFromPointer which were always treated the same. 4. This updates a bunch of test cases that have minor changes to the produced diagnostics. llvm-svn: 45589 | |||||
* | Patch to add semantics check for ObjC2's foreacn statement. | Fariborz Jahanian | 2008-01-04 | 4 | -11/+31 | |
| | | | | llvm-svn: 45561 | |||||
* | generalize some of the conversion warnings. | Chris Lattner | 2008-01-03 | 3 | -15/+22 | |
| | | | | llvm-svn: 45560 | |||||
* | regroup assignment-related diagnostics, fix a mistake in one. | Chris Lattner | 2008-01-03 | 1 | -1/+1 | |
| | | | | llvm-svn: 45558 | |||||
* | give better diagnostics for converting between function pointer and void*. | Chris Lattner | 2008-01-03 | 4 | -9/+47 | |
| | | | | llvm-svn: 45556 | |||||
* | Remove cause of misc. "variable might be used uninitialized in this ↵ | Fariborz Jahanian | 2008-01-03 | 1 | -4/+5 | |
| | | | | | | function" warnings. llvm-svn: 45546 | |||||
* | Fixed a bug reported by Chris, involving assiging 0 to a qualified object type. | Fariborz Jahanian | 2008-01-03 | 1 | -1/+2 | |
| | | | | llvm-svn: 45542 | |||||
* | Patch to parse/build AST ObjC2's foreach statement. | Fariborz Jahanian | 2008-01-03 | 2 | -0/+38 | |
| | | | | llvm-svn: 45539 | |||||
* | When promoting array to pointer for argument, don't lose type qualifiers. | Chris Lattner | 2008-01-02 | 2 | -4/+8 | |
| | | | | llvm-svn: 45510 | |||||
* | Compute the proper sourcerange for an CompoundLiteralExpr. | Chris Lattner | 2008-01-02 | 1 | -2/+2 | |
| | | | | llvm-svn: 45504 | |||||
* | Allow implicit casts during arithmetic for OCUVector operations | Nate Begeman | 2007-12-30 | 1 | -5/+26 | |
| | | | | | | Add codegen support and test for said casts. llvm-svn: 45443 | |||||
* | Allow splat casts for OCU vector assignments & add some comments. | Nate Begeman | 2007-12-30 | 1 | -0/+8 | |
| | | | | llvm-svn: 45442 | |||||
* | remove attribution from makefiles. | Chris Lattner | 2007-12-29 | 1 | -2/+2 | |
| | | | | llvm-svn: 45412 | |||||
* | Don't attribute in file headers anymore. See llvmdev for the | Chris Lattner | 2007-12-29 | 11 | -22/+22 | |
| | | | | | | discussion of this change. llvm-svn: 45410 | |||||
* | various cleanups. Use IgnoreParenCasts instead of inlined versions. | Chris Lattner | 2007-12-28 | 2 | -32/+8 | |
| | | | | llvm-svn: 45382 | |||||
* | unindent cases in a switch stmt, no functionality change. | Chris Lattner | 2007-12-28 | 1 | -191/+188 | |
| | | | | llvm-svn: 45381 | |||||
* | Change Sema::ActOnCallExpr to construct the CallExpr early and put it into | Chris Lattner | 2007-12-28 | 3 | -196/+176 | |
| | | | | | | | | | | | | and OwningPtr instead of constructing only after all of sema is done. This has a couple of effects: 1. it fixes memory leaks from all the error cases in sema 2. it simplifies the code significantly. The cost of this is that the error case now new's and delete's an expr where it did not before, but we don't care about the perf of the error case. llvm-svn: 45380 | |||||
* | More objective-c type analysis. This time involving objective types | Fariborz Jahanian | 2007-12-21 | 1 | -1/+1 | |
| | | | | | | of conforming protocols (or not). llvm-svn: 45276 | |||||
* | Patch to do type-checking for objctive-c's object types. | Fariborz Jahanian | 2007-12-20 | 1 | -6/+6 | |
| | | | | | | More is yet to come. llvm-svn: 45263 | |||||
* | More objective-c typechecking stuff. This is work in progress and more patches | Fariborz Jahanian | 2007-12-20 | 2 | -2/+10 | |
| | | | | | | are due to arrive. llvm-svn: 45244 | |||||
* | Implement codegen for ordered comparison builtins. | Chris Lattner | 2007-12-20 | 1 | -2/+1 | |
| | | | | llvm-svn: 45243 | |||||
* | implement semantic analysis for __builtin_islessequal and friends. | Chris Lattner | 2007-12-20 | 3 | -11/+50 | |
| | | | | llvm-svn: 45239 | |||||
* | simplify some code. | Chris Lattner | 2007-12-20 | 2 | -6/+14 | |
| | | | | llvm-svn: 45235 | |||||
* | refactor some code that handles sema of direct function calls. | Chris Lattner | 2007-12-19 | 3 | -57/+65 | |
| | | | | llvm-svn: 45234 | |||||
* | Interned MainFileID within SourceManager. Since SourceManager is referenced by | Ted Kremenek | 2007-12-19 | 1 | -6/+6 | |
| | | | | | | | | | both Preprocessor and ASTContext, we no longer need to explicitly pass MainFileID around in function calls that also pass either Preprocessor or ASTContext. This resulted in some nice cleanups in the ASTConsumers and the driver. llvm-svn: 45228 | |||||
* | Various tweaks to the get/lookup instance/class method API's. | Steve Naroff | 2007-12-19 | 2 | -5/+5 | |
| | | | | llvm-svn: 45224 | |||||
* | reenable this code, fix the testcase. | Chris Lattner | 2007-12-19 | 1 | -2/+2 | |
| | | | | llvm-svn: 45205 | |||||
* | disable my commit from yesterday, fixing a regression test failure. | Chris Lattner | 2007-12-19 | 1 | -1/+1 | |
| | | | | llvm-svn: 45204 | |||||
* | This patch concludes implementation of dynamic objective-c type qualified by | Fariborz Jahanian | 2007-12-19 | 1 | -1/+9 | |
| | | | | | | protocol list. llvm-svn: 45203 | |||||
* | Fix the embarassing typo for real this time (- vs _), sorry about breaking ↵ | Anders Carlsson | 2007-12-19 | 1 | -5/+10 | |
| | | | | | | the tests Steve. llvm-svn: 45202 | |||||
* | Revert Anders r45191 commit...it broke several of the tests. | Steve Naroff | 2007-12-19 | 1 | -9/+5 | |
| | | | | llvm-svn: 45199 | |||||
* | Fix an embarassing typo and add some very limited support for the aligned ↵ | Anders Carlsson | 2007-12-19 | 2 | -1/+23 | |
| | | | | | | attribute. llvm-svn: 45195 | |||||
* | Normalize attribute names if possible so we won't have to do two strcmps for ↵ | Anders Carlsson | 2007-12-19 | 1 | -5/+12 | |
| | | | | | | every attribute. llvm-svn: 45191 | |||||
* | fix broken assert. | Chris Lattner | 2007-12-19 | 1 | -1/+1 | |
| | | | | llvm-svn: 45189 | |||||
* | Implement C99 6.7.5.3p1 | Chris Lattner | 2007-12-19 | 1 | -0/+9 | |
| | | | | llvm-svn: 45188 | |||||
* | Refactoring work. ObjcQualifiedIdType is now derived from 'Type'. | Fariborz Jahanian | 2007-12-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 45174 | |||||
* | Fix const propagation bug. | Chris Lattner | 2007-12-18 | 1 | -2/+1 | |
| | | | | llvm-svn: 45152 | |||||
* | Add DefaultFunctionArrayConversion() to the indirection operator in ↵ | Steve Naroff | 2007-12-18 | 1 | -0/+1 | |
| | | | | | | | | | | | Sema::ActOnUnaryOp(). This fixes a bug Chris forwarded from Oliver Hunt... typedef struct { char name[100]; } entry; char f1(entry *e) { return *e->name; } llvm-svn: 45148 | |||||
* | Fixe bogus error for variable argument methods. ↵ | Steve Naroff | 2007-12-18 | 2 | -2/+2 | |
| | | | | | | Sema::ObjcGetTypeForMethodDefinition() wasn't preserving the isVariadic boolean. Another fix is to avoid synthsizing the function decl entirely, however this is a separate issue that I don't want to deal with now. Also added a FIXME to Sema::CheckFunctionCall(), which is currently emitting a bogus warning. llvm-svn: 45146 | |||||
* | Improve how we find private method decls. This involved: | Steve Naroff | 2007-12-18 | 2 | -21/+14 | |
| | | | | | | | | | | | | | - Changed Sema::ObjcActOnStartOfMethodDef() to register the methods with the global pools. - Changed Sema::ActOnInstanceMessage() to look in global pools (should be much less error prone). - Added a test case to message.m (for lookup that was broken). Misc changes while I was investigating this... - Changed Sema::ActOnAtEnd() to call AddFactoryMethodToGlobalPool (this looked like a cut/paste error). - Added a comment and tweaked another where I was using the first person. llvm-svn: 45142 | |||||
* | Patch to implemented objective-c's dynamic object pointer qualified with | Fariborz Jahanian | 2007-12-17 | 2 | -5/+35 | |
| | | | | | | the protocol list (id<P,...> types). llvm-svn: 45121 | |||||
* | Modified format-string checking to not emit a warning when all of the | Ted Kremenek | 2007-12-17 | 1 | -2/+26 | |
| | | | | | | | | | | | | | | | | | | | | | | | | following hold: (1) A vprintf-like function is called that takes the argument list via a via_list argument. (2) The format string is a non-literal that is the parameter value of the enclosing function, e.g: void logmessage(const char *fmt,...) { va_list ap; va_start(ap,fmt); fprintf(fmt,ap); // Do not emit a warning. } In the future this special case will be enhanced to consult the "format" attribute attached to a function declaration instead of just allowing a blank check for all function parameters to be used as format strings to vprintf-like functions. This will happen when more support for attributes becomes available. llvm-svn: 45114 | |||||
* | Format string checker: asprintf does not pass argumnents via va_list. | Ted Kremenek | 2007-12-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 45110 |