summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* code cleanupChris Lattner2009-02-161-17/+17
| | | | llvm-svn: 64651
* wrap long lines.Chris Lattner2009-02-161-6/+8
| | | | llvm-svn: 64650
* Test case for llvm-gcc rev. 64648.Devang Patel2009-02-161-0/+5
| | | | llvm-svn: 64649
* assert/ErrorUnsupported in unimplemented stub functions instead ofDaniel Dunbar2009-02-161-16/+25
| | | | | | miscompiling. llvm-svn: 64647
* Add pretty-printing (for GraphViz) support for RangeConstraintManager.Ted Kremenek2009-02-161-36/+8
| | | | llvm-svn: 64646
* Add support for deprecating ObjC properties. Unlike GCC, we warn that the Chris Lattner2009-02-162-6/+44
| | | | | | | property is deprecated, not the getter/setter if the attribute is on the property. llvm-svn: 64644
* propagate attributes onto property decls.Chris Lattner2009-02-161-5/+7
| | | | llvm-svn: 64643
* define __OBJC2__ for objc's nonfragile abi.Fariborz Jahanian2009-02-161-0/+2
| | | | llvm-svn: 64642
* When a function with a prototype is redeclared without a prototype,Douglas Gregor2009-02-163-1/+54
| | | | | | | merge the prototype into the redeclaration (and make a note in the declaration). Fixes PR3588. llvm-svn: 64641
* ccc: @<filename> arguments are only treated specially if <filename>Daniel Dunbar2009-02-161-2/+8
| | | | | | | exists, otherwise gcc just treats as an input. - PR3591 llvm-svn: 64640
* Adopt a more principled approach to invalid declarations:Douglas Gregor2009-02-1610-92/+152
| | | | | | | | | | | | | | | | | | | | | | | - If a declaration is an invalid redeclaration of an existing name, complain about the invalid redeclaration then avoid adding it to the AST (we can still parse the definition or initializer, if any). - If the declaration is invalid but there is no prior declaration with that name, introduce the invalid declaration into the AST (for later error recovery). - If the declaration is an invalid redeclaration of a builtin that starts with __builtin_, we produce an error and drop the redeclaration. If it is an invalid redeclaration of a library builtin (e.g., malloc, printf), warn (don't error!) and drop the redeclaration. If a user attempts to define a builtin, produce an error and (if it's a library builtin like malloc) suggest -ffreestanding. This addresses <rdar://problem/6097585> and PR2892. However, PR3588 is still going to cause some problems when builtins are redeclared without a prototype. llvm-svn: 64639
* RangeConstraintManager is not on by default.Ted Kremenek2009-02-161-1/+1
| | | | llvm-svn: 64638
* add support for deprecated objc ivars.Chris Lattner2009-02-163-1/+15
| | | | llvm-svn: 64637
* specify a triple to use, otherwise we get errors on this test forChris Lattner2009-02-161-1/+1
| | | | | | hosts with a different size_t type. llvm-svn: 64636
* update expected-warning line.Chris Lattner2009-02-161-1/+1
| | | | llvm-svn: 64635
* Add support for deprecated members of RecordDecls (e.g. struct fields).Chris Lattner2009-02-163-2/+11
| | | | llvm-svn: 64634
* castToDeclContext/castFromDeclContext are only required to be included in ↵Argyrios Kyrtzidis2009-02-163-60/+6
| | | | | | | | the class of decls that directly derive from DeclContext. Their subclasses don't need them. llvm-svn: 64632
* castToDeclContext/castFromDeclContext are not meant to be used directly; ↵Argyrios Kyrtzidis2009-02-161-18/+18
| | | | | | | | they are used indirectly by cast/dyn_cast. All Decl <-> DeclContext casting should be done through cast/dyn_cast. llvm-svn: 64631
* DeclContext had its "casting machinery" inside the class definition so that ↵Argyrios Kyrtzidis2009-02-162-48/+47
| | | | | | | | if a new declaration context Decl appeared, the necessary changes would be in one place. Since, now, only DeclNodes.def needs to be modified, move things out-of-line and simplify the DeclContext class. llvm-svn: 64630
* Make DeclContexts maintenance a bit easier.Argyrios Kyrtzidis2009-02-163-46/+32
| | | | | | | | | -In DeclNodes.def, only mark as DeclContexts the top classes that directly derive from DeclContext. If the Decl has subclasses, it should be marked with DECL_CONTEXT_BASE. -Use DeclNodes.def to automate the DeclContext::classof and DeclContext::CastTo definitions. llvm-svn: 64629
* Untabify.Ben Laurie2009-02-161-2/+2
| | | | llvm-svn: 64628
* Do not register 'RangeConstraintManager' as the default ConstraintManager.Ted Kremenek2009-02-161-2/+0
| | | | llvm-svn: 64627
* Fix typo caused by too much surfing, dudes...Nick Lewycky2009-02-161-1/+1
| | | | llvm-svn: 64626
* Delete this long-commented-out code. The situation it seems to haveDan Gohman2009-02-161-26/+0
| | | | | | | been written for is no longer relevant with the elimination of signed and unsigned types. llvm-svn: 64625
* Rename IndVarsSimplify to IndVarSimplify, to be consistent withDan Gohman2009-02-1645-0/+0
| | | | | | the name used in the code that these tests are for. llvm-svn: 64624
* Change these tests to use regular loads instead of llvm.x86.sse2.loadu.dq.Dan Gohman2009-02-164-25/+20
| | | | | | | | Enhance instcombine to use the preferred field of GetOrEnforceKnownAlignment in more cases, so that regular IR operations are optimized in the same way that the intrinsics currently are. llvm-svn: 64623
* Don't assume that a left-shift of a value with one bit set will haveDan Gohman2009-02-151-6/+23
| | | | | | | | one bit set, because the bit may be shifted off the end. Instead, just check for a constant 1 being shifted. This is still sufficient to handle all the cases in test/CodeGen/X86/bt.ll. This fixes PR3583. llvm-svn: 64622
* MachineLICM now handles these cases.Dan Gohman2009-02-151-85/+0
| | | | llvm-svn: 64620
* Demonstrate the act of including multiple space-separated parameter attributes,Nick Lewycky2009-02-151-1/+1
| | | | | | by request on IRC. llvm-svn: 64619
* Shoot! Remove this debugging line again!Nick Lewycky2009-02-151-2/+0
| | | | llvm-svn: 64617
* Don't discard definitions of common symbols. Not sure if this is the right fix.Nick Lewycky2009-02-151-1/+5
| | | | | | | | | | Before this change, the program: int var; int main(void) { return 0; } when run under 'nm -g' would show 'U var' with the gold plugin and 'B var' with gcc. llvm-svn: 64616
* Update the list of function annotations for nocapture. All of these came upNick Lewycky2009-02-151-47/+186
| | | | | | | | | | | when I was looking at functions used by python. Highlights include, better largefile support (64-bit file sizes on 32-bit systems), fputs string is nocapture, popen/pclose added (popen being noalias return), modf and frexp and friends. Also added some missing 'break' statements and combined identical sections. llvm-svn: 64615
* Don't allow taking the address of an element in an ext_vectorNate Begeman2009-02-152-4/+9
| | | | llvm-svn: 64614
* lots of trailing whitespaceChris Lattner2009-02-151-1/+1
| | | | llvm-svn: 64613
* Refactor the deprecated and unavailable checks into a newChris Lattner2009-02-155-54/+58
| | | | | | | | | DiagnoseUseOfDeprecatedDecl method. This ensures that they are treated consistently. This gets us 'unavailable' support on a few new types of decls, and makes sure we consistently silence deprecated when the caller is also deprecated. llvm-svn: 64612
* implement gcc/testsuite/objc.dg/method-attribute-3.m, by improving error ↵Chris Lattner2009-02-152-1/+10
| | | | | | recovery. llvm-svn: 64609
* don't pass a random english string in as a string argument to Diag.Chris Lattner2009-02-152-1/+3
| | | | llvm-svn: 64608
* fix a fixme in -emit-html output: highlight the entire range of a macroChris Lattner2009-02-151-17/+21
| | | | | | | instantiation, which highlights the arguments of a function like macro as well as its identifier. llvm-svn: 64607
* add a new SourceManager::getInstantiationRange helper method.Chris Lattner2009-02-153-5/+27
| | | | llvm-svn: 64606
* fix build on systems where uint64_t != unsigned long longChris Lattner2009-02-151-1/+1
| | | | llvm-svn: 64605
* fix PR3579: __LINE__ expands to the presumed location of the Chris Lattner2009-02-151-1/+11
| | | | | | | | *end* of a macro instantiation, not the start of it. This is really all about bug-for-bug compatibility with GCC, but not doing this breaks the FreeBSD kernel. llvm-svn: 64604
* fix PR3579: __LINE__ expands to the presumed location of the Chris Lattner2009-02-151-1/+10
| | | | | | | | *end* of a macro instantiation, not the start of it. This is really all about bug-for-bug compatibility with GCC, but not doing this breaks the FreeBSD kernel. llvm-svn: 64603
* track "just a little more" location information for macro instantiations.Chris Lattner2009-02-1512-54/+124
| | | | | | | | | | | | Now instead of just tracking the expansion history, also track the full range of the macro that got replaced. For object-like macros, this doesn't change anything. For _Pragma and function-like macros, this means we track the locations of the ')'. This is required for PR3579 because apparently GCC uses the line of the ')' of a function-like macro as the location to expand __LINE__ to. llvm-svn: 64601
* On 64bit we may have a personality function which requires 64 bits toNicolas Geoffray2009-02-151-7/+13
| | | | | | be encoded. llvm-svn: 64600
* PR3589: Don't simplify libcalls with -ffreestanding.Daniel Dunbar2009-02-152-1/+10
| | | | llvm-svn: 64599
* Remove accidental duplication of content in .h file.Ted Kremenek2009-02-151-81/+1
| | | | llvm-svn: 64596
* Fix pasto noticed by Anders Johnsen.Daniel Dunbar2009-02-151-2/+2
| | | | llvm-svn: 64595
* Make this more useful for cleaning up after theDuncan Sands2009-02-151-15/+5
| | | | | | | one-definition-rule llvm-gcc changes (coming soon to a tree near you!). llvm-svn: 64588
* 80-column violation.Mikhail Glushenkov2009-02-151-1/+2
| | | | llvm-svn: 64586
* If the target of an alias has internal linkage, then theDuncan Sands2009-02-153-7/+77
| | | | | | | | alias can be morphed into the target. Implement this transform, and fix a crash in the existing transform at the same time. llvm-svn: 64583
OpenPOWER on IntegriCloud