summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* FunctionDecl::getBody() is getting an ASTContext argument for use inDouglas Gregor2009-04-181-2/+2
| | | | | | | | lazy PCH deserialization. Propagate that argument wherever it needs to be. No functionality change, except that I've tightened up a few PCH tests in preparation. llvm-svn: 69406
* Add support for generating (very basic) C++ destructors. These aren't called ↵Anders Carlsson2009-04-171-0/+3
| | | | | | by anything yet. llvm-svn: 69343
* Attributes on block functions were not being set.Daniel Dunbar2009-04-171-5/+6
| | | | | | | - <rdar://problem/6800351> clang not producing correct large struct return code for Blocks llvm-svn: 69337
* Ensure that the most recent declaration of a tentative definition winsDaniel Dunbar2009-04-161-3/+5
| | | | | | when generating a common definition. llvm-svn: 69287
* Defer generation of tentative definitions.Daniel Dunbar2009-04-151-31/+37
| | | | | | | | | | | | | | - 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
* Start attempting to generate code for C++ ctors.Anders Carlsson2009-04-151-3/+14
| | | | llvm-svn: 69168
* Comment fix.Daniel Dunbar2009-04-141-1/+1
| | | | llvm-svn: 69091
* Fix PR3988: extern inline functions get strong symbol definitions inChris Lattner2009-04-141-24/+22
| | | | | | | | 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-37/+44
| | | | | | | | pulling some attribute munging stuff into GetLinkageForFunction. This should fix PR3986 llvm-svn: 69045
* Refactor how attributes are set on values.Daniel Dunbar2009-04-141-87/+77
| | | | | | | | | | | | | | | | | | | | | | | | - Pull out SetCommonAttributes, which handles the things common to aliases, methods, functions, and variables. - Pull out SetLLVMFunctionAttributesForDefinition, which handles the LLVM attributes which we only want to apply to a definition (like noinline and alwaysinline). - Kill SetGVDeclarationAttributes (inlined into SetFunctionAttributes and specialized). - Kill SetFunctionAttributesForDefinition (inlined into sole caller). - Inline SetGVDefinitionAttributes into SetMethodAttributes and specialize. - Rename SetGVDefinitionAttributes to SetFunctionDefinitionAttributes. This is supposed to be a no functionality change commit, but I may have made a mistake. llvm-svn: 69036
* Split SetGlobalValueAttributes into definition/declaration halves.Daniel Dunbar2009-04-141-35/+37
| | | | | | - No functionality change. llvm-svn: 69035
* Rename (one) SetFunctionAttributes to SetLLVMFunctionAttributes toDaniel Dunbar2009-04-141-5/+5
| | | | | | | disambiguate it. - No functionality change. llvm-svn: 69034
* Reduce indentation, no functionality change.Daniel Dunbar2009-04-141-12/+13
| | | | llvm-svn: 69033
* defer emission of always_inline, extern_inline, and inline functions (when Chris Lattner2009-04-141-11/+16
| | | | | | not in c89 mode). llvm-svn: 69032
* give always_inline functions internal linkage. If they cannot be Chris Lattner2009-04-141-1/+3
| | | | | | | inlined for some reason, then we don't want a strong or even weak definition. llvm-svn: 69031
* set the linkage of an inline function according to its language rules.Chris Lattner2009-04-141-2/+26
| | | | llvm-svn: 69030
* Add a comment on SetGlobalValueAttributes.Daniel Dunbar2009-04-141-2/+7
| | | | llvm-svn: 69029
* add a new enum type for linkage, no functionality change.Chris Lattner2009-04-141-15/+26
| | | | llvm-svn: 69028
* Clean up handling of visibility.Daniel Dunbar2009-04-141-85/+43
| | | | llvm-svn: 69027
* reduce indentation, no functionality change.Chris Lattner2009-04-141-27/+23
| | | | llvm-svn: 69026
* do not set visibility on "private" or "available externally" linkage objects.Chris Lattner2009-04-141-2/+2
| | | | llvm-svn: 69025
* Update to use hasAttr() instead of getAttr().Daniel Dunbar2009-04-131-19/+19
| | | | | | - No functionality change. llvm-svn: 68987
* Move/update recent FIXME (wrt UTF-8 checking for ObjC @-strings).Steve Naroff2009-04-131-4/+1
| | | | llvm-svn: 68982
* Fixed crasher in <rdar://problem/6780904> [irgen] Assertion failed: (Result ↵Steve Naroff2009-04-131-9/+18
| | | | | | | | == 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
* Internal variables could mistakenly have "hidden" visibility whenDaniel Dunbar2009-04-101-9/+13
| | | | | | | | their emission was deferred. - <rdar://problem/6775234> variables with internal linkage should not be exposed with -fvisibility=hidden. llvm-svn: 68818
* reject codegen of __thread variables as unimplemented, rdar://6775265Chris Lattner2009-04-101-1/+5
| | | | llvm-svn: 68755
* Propagate the ASTContext to various AST traversal and lookup functions.Douglas Gregor2009-04-091-3/+5
| | | | | | No functionality change (really). llvm-svn: 68726
* Add a destination type argument to EmitConstantExpr. This will be used for ↵Anders Carlsson2009-04-081-1/+1
| | | | | | when the destination has a reference type. (No functionality change yet) llvm-svn: 68593
* Visibility attributes should only be set on definition.Daniel Dunbar2009-04-071-4/+6
| | | | llvm-svn: 68561
* Various fixes to symbols used for Obj-C x86_64 metadata.Daniel Dunbar2009-04-071-0/+8
| | | | | | | | | | | | | | | | | | | | | - Changed method names to match gcc (categories names still aren't mangled in). - Expose correct name for class and metadata symbols (although -fvisibility=hidden isn't yet correct). - Remove several things from llvm.used that didn't need to be there (I suspect this can still be trimmed). - Don't use asm-prefix extension for _objc_empty_{cache,vtable} (not needed). - Hide EH type class info with -fvisibility=hidden - Change setGlobal[Option]Visibility to not change the visibility of functions with internal linkage. llvm-svn: 68510
* Add some basic support for generating C++ member functions.Anders Carlsson2009-04-041-12/+21
| | | | llvm-svn: 68425
* Basic support for regparm codegenAnton Korobeynikov2009-04-041-3/+0
| | | | llvm-svn: 68414
* Add a comment/FIXME so Eli can sleep better:-))Steve Naroff2009-04-031-0/+5
| | | | llvm-svn: 68379
* Implement -fvisibility.Fariborz Jahanian2009-04-031-2/+23
| | | | llvm-svn: 68369
* Add target hook for setting symbol prefix and section of unicodeDaniel Dunbar2009-04-031-4/+22
| | | | | | string literals. llvm-svn: 68363
* Emit code for linkage specifications.Anders Carlsson2009-04-021-7/+15
| | | | llvm-svn: 68300
* CodeGenModule::GetAddrOfConstantCFString():Steve Naroff2009-04-011-5/+10
| | | | | | | | | | - Finish up support for converting UTF8->UTF16 to support ObjC @"string" constants. Remove warning from CheckObjCString. As the FIXME in the test case indicates, I still have a bug to work out (apparently with \u handling). llvm-svn: 68245
* Add ConvertUTF module from http://www.unicode.org/Public/PROGRAMS/CVTUTF.Steve Naroff2009-04-011-4/+19
| | | | | | | | | | #ifdef'd out the 5 conversion routines that we don't currently need. Still need a bit more work in GetAddrOfConstantCFString(). Added a FIXME to indicate this. Expect to remove the FIXME today... llvm-svn: 68208
* More "prep" work for handling UTF16 CFString.Steve Naroff2009-04-011-1/+5
| | | | | | Patch by Jean-Daniel Dupas. Thanks! llvm-svn: 68203
* fix the two xfails I added with a previous patch by making ObjC interfaceChris Lattner2009-04-011-2/+5
| | | | | | | types get completed when their definition is seen if previously laid out by the code generator. llvm-svn: 68177
* move trivial forwarding function inline.Chris Lattner2009-04-011-6/+0
| | | | llvm-svn: 68176
* Implement code generation of namespaces and add mangling tests.Anders Carlsson2009-04-011-1/+7
| | | | llvm-svn: 68170
* Add Target hooks for IRgen of [cf]string literals.Daniel Dunbar2009-03-311-18/+29
| | | | | | | | | | | - 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-9/+13
| | | | | | | | that occurs when attribute(used) and asm renaming are used together. llvm-svn: 68155
* remove some obsolete comments, use an AssertingVH.Chris Lattner2009-03-311-11/+0
| | | | llvm-svn: 68151
* Finish off semantic analysis for regparm, and remove the warning. Also Eli Friedman2009-03-271-3/+0
| | | | | | remove a redundant error in CodeGen. llvm-svn: 67868
* Besides the warning, issue unsupported diagnostics in Fariborz Jahanian2009-03-271-0/+6
| | | | | | ir gen. No intended change in functionality. llvm-svn: 67857
* most of this is plumbing to get CompileOptions down into Chris Lattner2009-03-261-6/+8
| | | | | | | CodeGenModule. Once there, add a new NoCommon option to it and implement -fno-common. llvm-svn: 67735
* switch getBuiltinLibFunction to use the new GetOrCreateLLVMFunction Chris Lattner2009-03-221-31/+5
| | | | | | | | 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
* emit aliases as the definitions fly by, don't bother deferring untilChris Lattner2009-03-221-76/+63
| | | | | | the end of the module. llvm-svn: 67482
OpenPOWER on IntegriCloud