summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Couple of helpers for objc's gc attributes.Fariborz Jahanian2009-02-192-1/+11
| | | | | | No change in functionality. llvm-svn: 64989
* Temporarily XFAIL this test.Bill Wendling2009-02-191-0/+1
| | | | llvm-svn: 64987
* Make error-message check platform-agnosticDouglas Gregor2009-02-191-1/+1
| | | | llvm-svn: 64985
* Address Chris's comments regarding C++ name mangling.Douglas Gregor2009-02-187-45/+64
| | | | llvm-svn: 64984
* retain/release checker: Place the leak diagnostic after the last statement thatTed Kremenek2009-02-181-15/+37
| | | | | | references the tracked object. llvm-svn: 64980
* Put code that generates debug labels into TableGen so that it can be used byBill Wendling2009-02-189-25/+26
| | | | | | everyone. llvm-svn: 64978
* fariborz already fixed this.Chris Lattner2009-02-181-1/+0
| | | | llvm-svn: 64975
* Remove unused variable.Ted Kremenek2009-02-181-1/+0
| | | | llvm-svn: 64974
* Remove logic for computing 'display hint'.Ted Kremenek2009-02-181-21/+2
| | | | llvm-svn: 64973
* minor name changes, no functionality change.Chris Lattner2009-02-182-8/+8
| | | | llvm-svn: 64972
* More fun with retain checker diagnostics:Ted Kremenek2009-02-181-7/+17
| | | | | | | | - Fix some grammar. - Fix a bug where a "reference count incremented" diagnostic would not be shown if the previous typestate was "Released" (only happens in GC mode). llvm-svn: 64971
* fix some subtle bugs handling the mix of cvr qualifiers, addr spaces, Chris Lattner2009-02-182-36/+57
| | | | | | | and gc attrs. Add an assert to check that we never get ExtQualType(ExtQualType(T)). llvm-svn: 64970
* Add anti-FIXME.Daniel Dunbar2009-02-181-1/+4
| | | | llvm-svn: 64969
* minor spacing changes.Chris Lattner2009-02-181-4/+4
| | | | llvm-svn: 64968
* i386 ABI: Offset computation in va_arg was incorrect for sizeof(Ty)>4.Daniel Dunbar2009-02-181-6/+3
| | | | | | We are down to only failing gcc.dg/compat/vector-[12] (8 tests total). llvm-svn: 64967
* fix typoChris Lattner2009-02-181-1/+1
| | | | llvm-svn: 64966
* Remove pointless backslashDouglas Gregor2009-02-181-1/+1
| | | | llvm-svn: 64965
* Downgrade the "excess elements in initializer" errors to warnings *inDouglas Gregor2009-02-187-20/+34
| | | | | | C*. They're required errors in C++. llvm-svn: 64964
* x86_64 ABI: Fix thinko in computation of bound for "passed in SSE regs" test.Daniel Dunbar2009-02-181-1/+1
| | | | | | Two more gcc/x86_64 failures down. llvm-svn: 64963
* Fix diagnostics bugs when computing ranges for the retain/release checker.Ted Kremenek2009-02-181-1/+4
| | | | llvm-svn: 64962
* rip out __builtin_overloadChris Lattner2009-02-1813-306/+0
| | | | llvm-svn: 64961
* Add a few more GC-only test cases for the retain/release checker.Ted Kremenek2009-02-181-2/+16
| | | | llvm-svn: 64960
* HTMLDiagnostics: Always display diagnostics *below* the line in question.Ted Kremenek2009-02-181-22/+7
| | | | llvm-svn: 64959
* x86_64 ABI: "is passed in regs" computation for va_arg was broken forDaniel Dunbar2009-02-181-1/+1
| | | | | | | | things passed in mixed registers. This knocks out 8 x86_64 failures. llvm-svn: 64958
* Return true on errors, return true on errors, return true on errorsDouglas Gregor2009-02-182-1/+8
| | | | llvm-svn: 64957
* retain/release checker: We now emit fancy diagnostics telling users about theTed Kremenek2009-02-181-50/+88
| | | | | | semantics of CFMakeCollectable and friends. llvm-svn: 64956
* Downgrade complaints about calling unavailable functions to a warningDouglas Gregor2009-02-1814-91/+275
| | | | | | | | | | | | | | | | | | (as GCC does), except when we've performed overload resolution and found an unavailable function: in this case, we actually error. Merge the checking of unavailable functions with the checking for deprecated functions. This unifies a bit of code, and makes sure that we're checking for unavailable functions in the right places. Also, this check can cause an error. We may, eventually, want an option to make "unavailable" warnings into errors. Implement much of the logic needed for C++0x deleted functions, which are effectively the same as "unavailable" functions (but always cause an error when referenced). However, we don't have the syntax to specify deleted functions yet :) llvm-svn: 64955
* Some refactoring and simplificaiotn of objc's gcFariborz Jahanian2009-02-183-17/+31
| | | | | | ir gen. llvm-svn: 64954
* add proper asmwriter and asmparser support for anonymous functions.Chris Lattner2009-02-183-11/+41
| | | | llvm-svn: 64953
* Codegen for int (^bp)(int) = 0;Mike Stump2009-02-181-2/+4
| | | | llvm-svn: 64951
* Fix comment: analyzer builds are universal binaries.Ted Kremenek2009-02-181-1/+1
| | | | llvm-svn: 64950
* __attribute__((aligned)) was being ignored!Daniel Dunbar2009-02-182-1/+10
| | | | | | This knocks out another 8 gcc/compat/i386 & x86_64 failures. llvm-svn: 64947
* Add Type::isSpecificBuiltinType as a shortcut.Daniel Dunbar2009-02-182-7/+13
| | | | llvm-svn: 64946
* Simplify.Daniel Dunbar2009-02-181-2/+1
| | | | llvm-svn: 64944
* final string diagnostic issue (that I know about):Chris Lattner2009-02-181-16/+3
| | | | | | | | | | | | | | | | | we used to not account for escapes in strings with string concat. Before: t.m:5:20: warning: field width should have type 'int', but argument has type 'unsigned int' printf("\n\n" "\n\n%*d", (unsigned) 1, 1); ^ ~~~~~~~~~~~~ after: t.m:5:23: warning: field width should have type 'int', but argument has type 'unsigned int' printf("\n\n" "\n\n%*d", (unsigned) 1, 1); ^ ~~~~~~~~~~~~ llvm-svn: 64941
* Next step toward making string diagnostics correct: handleChris Lattner2009-02-183-5/+60
| | | | | | | | | | | | | escapes in the string for subtoken positioning. This gives us working examples like: t.m:5:16: warning: field width should have type 'int', but argument has type 'unsigned int' printf("\n\n%*d", (unsigned) 1, 1); ^ ~~~~~~~~~~~~ where before the caret pointed two spaces to the left. llvm-svn: 64940
* update comment.Chris Lattner2009-02-181-5/+1
| | | | llvm-svn: 64939
* retain/release checker: Distinguish in the function summaries betweenTed Kremenek2009-02-181-12/+27
| | | | | | | | retain/releases performed via [... release] and CFRetain(). The former are no-ops in GC. The checker already handled this, but now we emit nice diagnostics to the user telling them that these are no-ops. llvm-svn: 64937
* Fix some issues handling sub-token locations that come from macro expansions.Chris Lattner2009-02-182-9/+4
| | | | | | | | | | | | | | | We now emit: t.m:6:15: warning: field width should have type 'int', but argument has type 'unsigned int' printf(STR, (unsigned) 1, 1); ^ ~~~~~~~~~~~~ t.m:3:18: note: instantiated from: #define STR "abc%*ddef" ^ which has the correct location in the string literal in the note line. llvm-svn: 64936
* Start generating gc'able code using the newFariborz Jahanian2009-02-183-26/+19
| | | | | | objc gc type attributes. llvm-svn: 64935
* tidy upChris Lattner2009-02-181-3/+1
| | | | llvm-svn: 64934
* only get the spelling of a token to get its length if Chris Lattner2009-02-181-5/+12
| | | | | | it needs cleaning. llvm-svn: 64932
* use the full spelling of a string literal token so that trigraphsChris Lattner2009-02-182-3/+15
| | | | | | | | | | | | | | | | | | | | | and escaped newlines don't throw off the offset computation. On this testcase: printf("abc\ def" "%*d", (unsigned) 1, 1); Before: t.m:5:5: warning: field width should have type 'int', but argument has type 'unsigned int' def" ^ after: t.m:6:12: warning: field width should have type 'int', but argument has type 'unsigned int' "%*d", (unsigned) 1, 1); ^ ~~~~~~~~~~~~ llvm-svn: 64930
* add c testcase for string literal diagnostic improvement.Chris Lattner2009-02-181-0/+3
| | | | llvm-svn: 64929
* don't print codegen time unless -ftime-report was passed.Chris Lattner2009-02-181-1/+3
| | | | llvm-svn: 64928
* Make warn-weak-field.m test pass again.Fariborz Jahanian2009-02-181-0/+2
| | | | llvm-svn: 64927
* In theory the aliasee may have dead constant usersDuncan Sands2009-02-181-0/+1
| | | | | | | | here. Since we only do the transform if there is one use, strip off any such users in the hope of making the transform fire more often. llvm-svn: 64926
* Cleanup objc's gc attributes code no longer needed.Fariborz Jahanian2009-02-185-56/+19
| | | | | | | | This make warn-weak-field.m to fail (subject of a followup patch). attr-objc-gc.m no passes. llvm-svn: 64925
* Start improving diagnostics that relate to subcharacters of string literals.Chris Lattner2009-02-184-19/+95
| | | | | | | | | | | | | | | | | | | | First step, handle diagnostics in StringLiteral's that are due to token pasting. For example, we now handle: id str2 = @"foo" "bar" @"baz" " b\0larg"; // expected-warning {{literal contains NUL character}} Correctly: test/SemaObjC/exprs.m:17:15: warning: CFString literal contains NUL character " b\0larg"; // expected-warning {{literal contains NUL character}} ~~~^~~~~~~ There are several other related issues still to be done. llvm-svn: 64924
* really fix styleRafael Espindola2009-02-181-6/+6
| | | | llvm-svn: 64923
OpenPOWER on IntegriCloud