summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Ensure that the most recent declaration of a tentative definition winsDaniel Dunbar2009-04-161-0/+5
| | | | | | when generating a common definition. llvm-svn: 69287
* Defer generation of tentative definitions.Daniel Dunbar2009-04-152-4/+28
| | | | | | | | | | | | | | - PR3980. - <rdar://problem/6762287> [irgen] crash when generating tentative definition of incomplete structure - This also avoids creating common definitions for things which are later overwritten. - XFAIL'ed external-defs.c, it isn't completing types properly yet. llvm-svn: 69231
* Set DebugInfo at the beginning of GenerateBlockFunction().Devang Patel2009-04-151-0/+13
| | | | llvm-svn: 69228
* remove #include of system header, making this a) not apple specific, andChris Lattner2009-04-151-3/+3
| | | | | | b) test dramatically faster. llvm-svn: 69135
* Fix PR3988: extern inline functions get strong symbol definitions inChris Lattner2009-04-141-3/+4
| | | | | | | | C99 mode. This is a regression from an earlier patch of mine. This also simplifies the linkage enums a bit. llvm-svn: 69069
* implement codegen support for __attribute((__gnuc_inline__)),Chris Lattner2009-04-141-1/+8
| | | | | | | | pulling some attribute munging stuff into GetLinkageForFunction. This should fix PR3986 llvm-svn: 69045
* defer emission of always_inline, extern_inline, and inline functions (when Chris Lattner2009-04-142-5/+8
| | | | | | not in c89 mode). llvm-svn: 69032
* set the linkage of an inline function according to its language rules.Chris Lattner2009-04-141-0/+29
| | | | llvm-svn: 69030
* Fix crasher in ASTContext::getObjCEncodingForMethodDecl().Steve Naroff2009-04-141-0/+10
| | | | | | This was exposed as a result of something else that was recently fixed. llvm-svn: 69004
* Fixed crasher in <rdar://problem/6780904> [irgen] Assertion failed: (Result ↵Steve Naroff2009-04-131-0/+8
| | | | | | | | == conversionOK && "UTF-8 to UTF-16 conversion failed"), function GetAddrOfConstantCFString, file CodeGenModule.cpp, line 1063. Still a diagnostic related FIXME (will discuss with Daniel/Fariborz offline). llvm-svn: 68975
* pass -fblocksChris Lattner2009-04-111-4/+2
| | | | llvm-svn: 68878
* Fixes a ir-gen crash for K&R style blocks.Fariborz Jahanian2009-04-111-0/+12
| | | | llvm-svn: 68865
* Don't set both readnone and readonly.Daniel Dunbar2009-04-101-0/+4
| | | | llvm-svn: 68833
* Internal variables could mistakenly have "hidden" visibility whenDaniel Dunbar2009-04-101-1/+12
| | | | | | | | their emission was deferred. - <rdar://problem/6775234> variables with internal linkage should not be exposed with -fvisibility=hidden. llvm-svn: 68818
* Fixup codegen for nested blocks that use copy/dispose in the innerMike Stump2009-04-101-5/+12
| | | | | | blocks, so that the outer blocks use it as well. Radar 6762279 llvm-svn: 68811
* Add more builtin definitions, including strcmp.Daniel Dunbar2009-04-091-0/+1
| | | | | | - PR3964. llvm-svn: 68710
* Don't assume that a block always has a FunctionProtoType. Fixes rdar://6768379.Anders Carlsson2009-04-081-0/+5
| | | | llvm-svn: 68583
* Visibility attributes should only be set on definition.Daniel Dunbar2009-04-072-6/+30
| | | | llvm-svn: 68561
* Diagnose uses of function specifiers on declarations which don't declareEli Friedman2009-04-071-1/+1
| | | | | | functions. Fixes PR3941. llvm-svn: 68541
* Implement __sync_{add,sub,and,or,xor}_and_fetch andDaniel Dunbar2009-04-071-6/+14
| | | | | | | | __sync_bool_compare_and_swap. - <rdar://problem/6762223> [sema/irgen] support __sync_bool_compare_and_swap and __sync_add_and_fetch llvm-svn: 68482
* Testcase for regparm codegenAnton Korobeynikov2009-04-041-0/+19
| | | | llvm-svn: 68415
* Ignore plus operands when looking up the operand number from a named ↵Anders Carlsson2009-04-031-1/+7
| | | | | | operand. This matches llvm-gcc and fixes PR3908. llvm-svn: 68371
* Implement -fvisibility.Fariborz Jahanian2009-04-031-0/+6
| | | | llvm-svn: 68369
* Add target hook for setting symbol prefix and section of unicodeDaniel Dunbar2009-04-031-1/+2
| | | | | | string literals. llvm-svn: 68363
* Remove -ftrapu.Mike Stump2009-04-021-10/+0
| | | | llvm-svn: 68330
* Oops, almost forgot the testcases.Mike Stump2009-04-022-0/+20
| | | | llvm-svn: 68270
* x86-32 Darwin ABI: Handle small structures correctly.Daniel Dunbar2009-04-011-12/+18
| | | | | | | | | | | | | | - Small structures are returned in a register if: 1. They fit nicely in a register. 2. All fields fit nicely in a register. (more or less) - We now pass the first 5000 ABITests if unions are disabled. - <rdar://problem/6497882> [irgen] x86-32 ABI compatibility with small structs llvm-svn: 68197
* x86-32 Darwin ABI: Single element arrays can be part of "singleDaniel Dunbar2009-04-011-2/+33
| | | | | | | | | | element structures", which have different ABI rules. - Current return-arguments-32 status is: 1 out of 1000 failures (-7) - Also, vectors inside "single element structs" require special handling. llvm-svn: 68196
* x86-32 Darwin ABI: Handle direct return of vectors.Daniel Dunbar2009-04-011-1/+15
| | | | | | - Current return-arguments-32 status is: 8 out of 1000 failures (-7) llvm-svn: 68192
* Fix a subtle bug where the cleanup scope entries had a dangling block referenceDaniel Dunbar2009-04-011-0/+10
| | | | | | | | | - <rdar://problem/6732143> Crash when generating @synchronize for zero-cost exception - Thanks to Anders for helping track down the problem. llvm-svn: 68186
* Fix pascal string support; testcase from mailing list message.Eli Friedman2009-04-011-0/+8
| | | | llvm-svn: 68181
* Add Target hooks for IRgen of [cf]string literals.Daniel Dunbar2009-03-311-0/+9
| | | | | | | | | | | - Notably, set section on cfstring literal string data (for now, this is done everywhere because it matches what we were already doing for the CFString data itself) - <rdar://problem/6599098> [irgen] linker requires objc string data to go into cstring llvm-svn: 68160
* Change UsedArray to be a vector of WeakVH to fix a dangling pointer problem ↵Chris Lattner2009-03-311-0/+5
| | | | | | | | that occurs when attribute(used) and asm renaming are used together. llvm-svn: 68155
* x86_32 Darwin ABI: Treat empty unions like empty structures.Daniel Dunbar2009-03-311-2/+10
| | | | | | - Current return-arguments-32 status: 15/1000 failures llvm-svn: 68132
* Codegen sometimes crashes on comparisons that aren't legal, justChris Lattner2009-03-311-2/+8
| | | | | | | disable this feature for now, to err on the side of rejecting instead of sometimes crashing. rdar://6326239 llvm-svn: 68088
* Move where block-related variables are initialized so that block Eli Friedman2009-03-281-2/+2
| | | | | | types don't get generated when blocks aren't used. llvm-svn: 67898
* Fix silly mistake in test.Eli Friedman2009-03-281-2/+2
| | | | llvm-svn: 67897
* Misc small fixes/cleanups/comment changes.Eli Friedman2009-03-281-0/+3
| | | | llvm-svn: 67895
* Change compound assignment operators to keep track of both the promoted Eli Friedman2009-03-282-1/+9
| | | | | | | | | | | | | | | | | LHS type and the computation result type; this encodes information into the AST which is otherwise non-obvious. Fix Sema to always come up with the right answer for both of these types. Fix IRGen and the analyzer to account for these changes. This fixes PR2601. The approach is inspired by PR2601 comment 2. Note that this changes real *= complex in CodeGen from a silent miscompilation to an explicit error. I'm not really sure that the analyzer changes are correct, or how to test them... someone more familiar with the analyzer should check those changes. llvm-svn: 67889
* Fix <rdar://problem/6724396>, where we were silently droppingDouglas Gregor2009-03-271-1/+6
| | | | | | GNU-style array designators, causing us to emit broken initializers. llvm-svn: 67878
* Driver: Forward -fno-common to clang.Daniel Dunbar2009-03-261-0/+6
| | | | | | - <rdar://problem/6710978> ccc/clang-driver ignore -fno-common llvm-svn: 67762
* Fix for PR3869: actually enforce that the argument of an indirect goto Eli Friedman2009-03-261-0/+4
| | | | | | is of type void*. I'll try to add the appropriate checking later. llvm-svn: 67721
* Remove -f__block as codegen for __block variables should be solid.Mike Stump2009-03-251-1/+1
| | | | llvm-svn: 67697
* Fixup codegen for block literals that bleed copy/dispose informationMike Stump2009-03-251-0/+1
| | | | | | from previous block literals. llvm-svn: 67696
* Support member reference on ?: of struct type.Daniel Dunbar2009-03-241-0/+6
| | | | llvm-svn: 67603
* Rename clang to clang-cc.Daniel Dunbar2009-03-24160-184/+184
| | | | | | Tests and drivers updated, still need to shuffle dirs. llvm-svn: 67602
* Use not instead of ! in tests.Daniel Dunbar2009-03-241-2/+2
| | | | llvm-svn: 67601
* Fix a couple of tests.Eli Friedman2009-03-241-1/+1
| | | | llvm-svn: 67592
* Fix a subtle bug in CodeGen for the increment of a bitfield.Eli Friedman2009-03-231-0/+7
| | | | llvm-svn: 67499
* switch getBuiltinLibFunction to use the new GetOrCreateLLVMFunction Chris Lattner2009-03-221-0/+8
| | | | | | | | functionality, fixing a crash on the attached testcase. Eliminate the BuiltinFunctions cache, as it can contain dangling pointers. This fixes a bunch of valgrind errors on test/CodeGen/builtins.c llvm-svn: 67484
OpenPOWER on IntegriCloud