aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-05-03Fix crash in source-line truncation code for diagnosticDouglas Gregor
printing. Also, when we only need to truncate the line at the end, make sure there is room for the ellipsis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70781 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Remove ASTContext::addRecordToClass.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70780 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03It turns out BuildAggrIvarLayout wasn't even using the shadow struct,Daniel Dunbar
just computing it! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70779 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Lift common subexpression, remove dead "base" variable.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70778 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Factor out BuildAggrIvarRecordLayout routine.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70777 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Lift out GetGCAttrTypeForType routine.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70776 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Add constructors for GC_IVAR and SKIP_SCAN, tighten up uses.Daniel Dunbar
Lift up a size calculation and note some asymmetries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70775 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Hook msp430 inAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70774 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Whitespace cleanupAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70773 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Normalize style, remove a dead assert.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70771 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Use ASTRecordLayout for computing ivar offsets instead of shadowDaniel Dunbar
struct. - We still need to do more lookup than necessary because ivars don't live in a reasonable DeclContext. - The only remaining client of the interface shadow struct is the ivar layout bitmap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70756 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Add a ComputeIvarBaseOffset overload taking an implementationDaniel Dunbar
decl. Only this routine will be suitable for computing the offset of a synthesized ivar. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70696 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Fix a possible memory error, the record layout entry could beDaniel Dunbar
invalidated by layout out the super class, we cannot cache the map entry. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70693 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Implement the interface/implementation layout distinction.Daniel Dunbar
- These routines should now be independent of the Sema state. - This is nearly zero functionality change, the distinction only matters in the non-fragile ABI, and the consumers that care about this distinction should be using getASTObjCImplementationLayout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70692 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Compute Objective-C metadata size information from the record layout,Daniel Dunbar
not the shadow structure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70691 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Split out getASTObjCImplementationLayoutDaniel Dunbar
- The difference from getASTObjCInterfaceLayout is that the computes the layout including synthesized ivars. - No functionality change, they currently both compute the same thing -- whether that includes synthesized ivars or not depends on when they get called!!! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70690 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Remove an unneeded special case.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70689 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03PR4063, with feeling: Chain PP callbacks by default.Daniel Dunbar
- This is somewhat cleaner and also fixes PR4063 for real, I had the order wrong so we were just creating an empty dependency file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70687 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03PR4063: Fix dependency generation with -E.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70686 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03look at the right operand when increasing the size of an asm output,Chris Lattner
this fixes http://llvm.org/bugs/show_bug.cgi?id=3373#c20 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70685 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Remove unused argument.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70684 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Coalesce the ivar offset calculation further.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70683 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03temporary hack to work around PR4128Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70681 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03don't shadow 'i'Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70680 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03allow references to the larger value in a tied constraintChris Lattner
from the asm string, but reject references to the smaller one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70679 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03code cleanup, avoid shadowing i.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70678 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03add support for tying asm operands where the result is smaller thanChris Lattner
the input. This is part of PR3373. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70677 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Remove typoDaniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70676 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03implement support for asm outputs targetting non-simple lvalue destinationsChris Lattner
like bitfields. incidentally llvm-gcc crashes on this sort of thing also. :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70675 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Use type from ivar instead of from shadow struct field.Daniel Dunbar
- No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70674 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Don't insert an extra ParenExpr around asm operands.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70673 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03handle codegen of asms where a small input is tied to a large output.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70672 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03refactor some code to get the input/output constraint info beforeChris Lattner
processing the outputs, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70671 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03If we have mismatched integer tied operands, but the operandChris Lattner
number is not mentioned in the asm string, let it past sema. Right now these are currently rejected by the llvm code generator but this will be fixed next. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70670 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03add a flag to output asm constraints so that we efficiently knowChris Lattner
if there is an input constraint that is tied to it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70669 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03avoid a crash when we encounter a implicit cast of the paren expr due toChris Lattner
promotions. This should be fixed by not modeling asm operands (which require the ()'s according to the grammar) as not being paren exprs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70668 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Fix: <rdar://problem/6850275> CF objects returned from methods with "new" or ↵Ted Kremenek
"copy" in their name should be treated as owned For methods that follow the "fundamental rule" and return Core Foundation objects, treat those objects as owned by the caller. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70665 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Fix silly mistake that was breaking tests. Sorry for any inconvenience.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70664 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03rename some variables, improve comments.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70663 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03refactor matched operand type checking to happen after the AsmStmt is created,Chris Lattner
no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70662 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Convert ArgEffects from an std::vector to an ImmutableMap. This will make ↵Ted Kremenek
it much easier to clean up the summary generation logic with annotations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70660 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Add diagnostic for r70658.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70659 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Add Sema support for __builtin_setjmp/__builtin_longjmp. The primary Eli Friedman
reason for adding these is to error out in CodeGen when trying to generate them instead of silently emitting a call to a non-existent function. (Note that it is not valid to lower these to setjmp/longjmp; in addition to that lowering being different from the intent, setjmp and longjmp require a larger buffer.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70658 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Rename isTrackedObjectType() -> isTrackedObjCObjectType().Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70657 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03When a fix-it hint would span multiple lines, don't print it; half aDouglas Gregor
fix-it hint is much worse than no fix-it hint. (Fixes PR4084). When we need to truncate a source line to fix in the terminal, make sure to take the width of the fix-it information into account, too. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70656 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03When we truncate a source line to fit it within the terminal width,Douglas Gregor
show an ellipsis where we have removed text. An example: /Users/dgregor/Projects/llvm/tools/clang/test/Misc/message-length.c:18:120: warning: comparison of distinct pointer types ('int *' and 'float *') ...a_func_to_call(ip == FloatPointer, ip[ALongIndexName], ... ~~ ^ ~~~~~~~~~~~~ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70655 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Respect the COLUMNS environment variable for word-wrapping (so we getDouglas Gregor
word-wrapping by default in Emacs; yay!). Thanks, Daniel. Use LLVM's System layer rather than calling isatty() directly. Fix a thinko in printing the indentation string that was causing some weird output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70654 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Fix invalid error about duplicate declaration of padding bit field inDaniel Dunbar
an interface. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70652 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03region store: make Retrieve() can retrieve embedded array correctly. AlsoZhongxing Xu
simplify the retrieve logic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70651 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-02Remove ccc from the makefile as well.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70650 91177308-0d34-0410-b5e6-96231b3b80d8