summaryrefslogtreecommitdiffstats
path: root/clang/Sema
Commit message (Collapse)AuthorAgeFilesLines
...
* twiks based on Chris's comment. No need to iterate thru a list of declarationsFariborz Jahanian2008-01-051-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 Jahanian2008-01-043-5/+5
| | | | llvm-svn: 45604
* unnest vector handling again.Chris Lattner2008-01-041-23/+23
| | | | llvm-svn: 45602
* we already test for exact type matches early, so we don't have to do Chris Lattner2008-01-041-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 Lattner2008-01-041-8/+25
| | | | | | stripping down to canonical types early. llvm-svn: 45599
* move objc expr sema to its own file.Chris Lattner2008-01-042-280/+295
| | | | llvm-svn: 45597
* add comments for the various AssignConvertType's, and split int->pointer ↵Chris Lattner2008-01-042-8/+35
| | | | | | from pointer->int. llvm-svn: 45591
* Merge all the 'assignment' diagnostic code into one routine, decloning Chris Lattner2008-01-044-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 Jahanian2008-01-044-11/+31
| | | | llvm-svn: 45561
* generalize some of the conversion warnings.Chris Lattner2008-01-033-15/+22
| | | | llvm-svn: 45560
* regroup assignment-related diagnostics, fix a mistake in one.Chris Lattner2008-01-031-1/+1
| | | | llvm-svn: 45558
* give better diagnostics for converting between function pointer and void*.Chris Lattner2008-01-034-9/+47
| | | | llvm-svn: 45556
* Remove cause of misc. "variable might be used uninitialized in this ↵Fariborz Jahanian2008-01-031-4/+5
| | | | | | function" warnings. llvm-svn: 45546
* Fixed a bug reported by Chris, involving assiging 0 to a qualified object type.Fariborz Jahanian2008-01-031-1/+2
| | | | llvm-svn: 45542
* Patch to parse/build AST ObjC2's foreach statement.Fariborz Jahanian2008-01-032-0/+38
| | | | llvm-svn: 45539
* When promoting array to pointer for argument, don't lose type qualifiers.Chris Lattner2008-01-022-4/+8
| | | | llvm-svn: 45510
* Compute the proper sourcerange for an CompoundLiteralExpr.Chris Lattner2008-01-021-2/+2
| | | | llvm-svn: 45504
* Allow implicit casts during arithmetic for OCUVector operationsNate Begeman2007-12-301-5/+26
| | | | | | Add codegen support and test for said casts. llvm-svn: 45443
* Allow splat casts for OCU vector assignments & add some comments.Nate Begeman2007-12-301-0/+8
| | | | llvm-svn: 45442
* remove attribution from makefiles.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45412
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-2911-22/+22
| | | | | | discussion of this change. llvm-svn: 45410
* various cleanups. Use IgnoreParenCasts instead of inlined versions.Chris Lattner2007-12-282-32/+8
| | | | llvm-svn: 45382
* unindent cases in a switch stmt, no functionality change.Chris Lattner2007-12-281-191/+188
| | | | llvm-svn: 45381
* Change Sema::ActOnCallExpr to construct the CallExpr early and put it intoChris Lattner2007-12-283-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 typesFariborz Jahanian2007-12-211-1/+1
| | | | | | of conforming protocols (or not). llvm-svn: 45276
* Patch to do type-checking for objctive-c's object types.Fariborz Jahanian2007-12-201-6/+6
| | | | | | More is yet to come. llvm-svn: 45263
* More objective-c typechecking stuff. This is work in progress and more patchesFariborz Jahanian2007-12-202-2/+10
| | | | | | are due to arrive. llvm-svn: 45244
* Implement codegen for ordered comparison builtins.Chris Lattner2007-12-201-2/+1
| | | | llvm-svn: 45243
* implement semantic analysis for __builtin_islessequal and friends.Chris Lattner2007-12-203-11/+50
| | | | llvm-svn: 45239
* simplify some code.Chris Lattner2007-12-202-6/+14
| | | | llvm-svn: 45235
* refactor some code that handles sema of direct function calls.Chris Lattner2007-12-193-57/+65
| | | | llvm-svn: 45234
* Interned MainFileID within SourceManager. Since SourceManager is referenced byTed Kremenek2007-12-191-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 Naroff2007-12-192-5/+5
| | | | llvm-svn: 45224
* reenable this code, fix the testcase.Chris Lattner2007-12-191-2/+2
| | | | llvm-svn: 45205
* disable my commit from yesterday, fixing a regression test failure.Chris Lattner2007-12-191-1/+1
| | | | llvm-svn: 45204
* This patch concludes implementation of dynamic objective-c type qualified byFariborz Jahanian2007-12-191-1/+9
| | | | | | protocol list. llvm-svn: 45203
* Fix the embarassing typo for real this time (- vs _), sorry about breaking ↵Anders Carlsson2007-12-191-5/+10
| | | | | | the tests Steve. llvm-svn: 45202
* Revert Anders r45191 commit...it broke several of the tests.Steve Naroff2007-12-191-9/+5
| | | | llvm-svn: 45199
* Fix an embarassing typo and add some very limited support for the aligned ↵Anders Carlsson2007-12-192-1/+23
| | | | | | attribute. llvm-svn: 45195
* Normalize attribute names if possible so we won't have to do two strcmps for ↵Anders Carlsson2007-12-191-5/+12
| | | | | | every attribute. llvm-svn: 45191
* fix broken assert.Chris Lattner2007-12-191-1/+1
| | | | llvm-svn: 45189
* Implement C99 6.7.5.3p1Chris Lattner2007-12-191-0/+9
| | | | llvm-svn: 45188
* Refactoring work. ObjcQualifiedIdType is now derived from 'Type'.Fariborz Jahanian2007-12-181-1/+1
| | | | llvm-svn: 45174
* Fix const propagation bug.Chris Lattner2007-12-181-2/+1
| | | | llvm-svn: 45152
* Add DefaultFunctionArrayConversion() to the indirection operator in ↵Steve Naroff2007-12-181-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 Naroff2007-12-182-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 Naroff2007-12-182-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 withFariborz Jahanian2007-12-172-5/+35
| | | | | | the protocol list (id<P,...> types). llvm-svn: 45121
* Modified format-string checking to not emit a warning when all of theTed Kremenek2007-12-171-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 Kremenek2007-12-171-1/+1
| | | | llvm-svn: 45110
OpenPOWER on IntegriCloud