summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDecl.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Use the right linkage for static variables inside C++ inline functions.Anders Carlsson2010-02-071-6/+19
| | | | llvm-svn: 95512
* Revert r95393, which broke Clang's self-host.Douglas Gregor2010-02-051-10/+16
| | | | llvm-svn: 95430
* IRgen: Use hasAggregateLLVMType instead of isSingleValueType() for cases thatDaniel Dunbar2010-02-051-16/+10
| | | | | | | | need to deal with aggregates specially; this is consistent with the rest of IRgen. Also, simplify EmitParmDecl and don't worry about using Decl::getNameAsString. llvm-svn: 95393
* Revert the new reference binding code; I came up with a way simpler solution ↵Anders Carlsson2010-02-031-5/+1
| | | | | | for the reference binding bug that is preventing self-hosting. llvm-svn: 95223
* Start creating CXXBindReferenceExpr nodes when binding complex types to ↵Anders Carlsson2010-01-311-0/+4
| | | | | | references. llvm-svn: 94964
* Change the return type of ASTContext::getDeclAlignInBytes() to CharUnits and,Ken Dyck2010-01-271-13/+16
| | | | | | | now that the "InBytes" part of the name is implied by the return type, rename it to getDeclAlign(). llvm-svn: 94681
* Introduce CodeGenModule::GetTargetTypeStoreSize() to calculate the store sizeKen Dyck2010-01-261-2/+1
| | | | | | of LLVM types in character units. llvm-svn: 94542
* Make sure to always mark a global variable as not being constant if it has a ↵Anders Carlsson2010-01-261-1/+6
| | | | | | C++ initializer. llvm-svn: 94504
* Roll out ASTContext::getTypeSizeInChars(), replacing instances ofKen Dyck2010-01-111-1/+1
| | | | | | | | | | "ASTContext::getTypeSize() / 8". Replace [u]int64_t variables with CharUnits ones as appropriate. Also rename RawType, fromRaw(), and getRaw() in CharUnits to QuantityType, fromQuantity(), and getQuantity() for clarity. llvm-svn: 93153
* Pass ReturnValueSlot to EmitCall. No functionality change yet.Anders Carlsson2009-12-241-2/+2
| | | | llvm-svn: 92138
* Move the implementation of ASTContext::getTypeSizeInChars() to the .cpp file toKen Dyck2009-12-221-0/+1
| | | | | | avoid #including CharUnits.h in ASTContext.h. llvm-svn: 91903
* Change the return type of ASTContext::getTypeSizeInChars() from uint64_t to theKen Dyck2009-12-181-1/+2
| | | | | | | new opaque value type, CharUnits. This will help us avoid accidentally mixing quantities that are in bit and character units. llvm-svn: 91689
* Rename getByteSize() and getTypeSizeInBytes() in ASTContext to getCharWidth()Ken Dyck2009-12-181-1/+1
| | | | | | | and getTypeSizeInChars() to reflect their basis in character type units, not that of a possibly independent architecture-specific byte. llvm-svn: 91688
* Add cleanups for exceptional edges. WIP.Mike Stump2009-12-091-27/+62
| | | | llvm-svn: 90940
* Use StringRef in CGDebugInfo::EmitFunctionStart.Benjamin Kramer2009-12-081-1/+1
| | | | llvm-svn: 90856
* Use a Twine to concatenate the name instead of going through std::string.Benjamin Kramer2009-12-081-3/+1
| | | | llvm-svn: 90854
* implement rdar://7346691 by codegen'ing struct/array initializersChris Lattner2009-12-051-61/+118
| | | | | | to a memset or a memcpy from a global when possible. llvm-svn: 90658
* simplify a condition and add a testcase.Chris Lattner2009-12-051-8/+10
| | | | llvm-svn: 90652
* Handle static_assert inside functions.Anders Carlsson2009-12-031-0/+1
| | | | llvm-svn: 90461
* Add missing branch to exit. Seemingly obvious when I look at theMike Stump2009-12-021-0/+3
| | | | | | code, but to track this down was laborious. llvm-svn: 90356
* Don't pass false (default) for isVolatile parameter to CreateLoad.Daniel Dunbar2009-11-291-1/+1
| | | | llvm-svn: 90098
* Rename CleanupScope -> DelayedCleanupBlock. No functionality change.Douglas Gregor2009-11-241-5/+5
| | | | llvm-svn: 89769
* Teach CodeGenFunction::EmitDecl to ignore Using and UsingShadow decls.Daniel Dunbar2009-11-231-2/+6
| | | | llvm-svn: 89633
* Trim whitespace.Mike Stump2009-11-181-1/+0
| | | | llvm-svn: 89219
* Move CompileOptions -> CodeGenOptions, and sink it into the CodeGen library.Chandler Carruth2009-11-121-2/+2
| | | | | | This resolves the layering violation where CodeGen depended on Frontend. llvm-svn: 86998
* Make sure that Type::getAs<ArrayType>() (or Type::getAs<subclass ofDouglas Gregor2009-11-091-1/+1
| | | | | | | ArrayType>()) does not instantiate. Update all callers that used this unsafe feature to use the appropriate ASTContext::getAs*ArrayType method. llvm-svn: 86596
* This patch extends CleanupScope to support destructionFariborz Jahanian2009-11-041-3/+7
| | | | | | of array objects on block exit. Patch is by Anders Calrsson. llvm-svn: 86032
* Merge constant array and structures. This will create a global variables for ↵Tanya Lattner2009-11-041-0/+15
| | | | | | arrays and structs that are constant and their initializer is constant. It is on by default but can be disable with the flag -fno-merge-all-constants. llvm-svn: 85991
* Refine volatile handling, specifically, we must have the canonicalMike Stump2009-11-031-5/+7
| | | | | | | type to look at the volatile specifier. I found these all from just hand auditing the code. llvm-svn: 85967
* Patch for destruction of array of objects on block exit.Fariborz Jahanian2009-10-291-4/+13
| | | | llvm-svn: 85512
* Fix 80-col violation.Mike Stump2009-10-211-2/+2
| | | | llvm-svn: 84719
* ignore 'using' directive in CodeGenFunction::EmitDecl(). this fixes PR5085Nuno Lopes2009-10-161-0/+1
| | | | llvm-svn: 84255
* Simplify pointer creation with the new Type::getInt*Ptr methods.Benjamin Kramer2009-10-131-6/+3
| | | | llvm-svn: 83964
* Revert 83567.Devang Patel2009-10-091-6/+3
| | | | llvm-svn: 83676
* Record location info before emiting alloca for arguments. This allows ↵Devang Patel2009-10-081-3/+6
| | | | | | arguments to have proper location info. llvm-svn: 83567
* Set alignment on static function level decls and VLAs. Fixes PR5060.Anders Carlsson2009-09-261-6/+11
| | | | llvm-svn: 82868
* Improve debug info generation for __block variables.Mike Stump2009-09-221-17/+3
| | | | llvm-svn: 82508
* Fix another byref bug. This should hopefully get QuickLookPlugins building ↵Anders Carlsson2009-09-131-10/+10
| | | | | | successfully. llvm-svn: 81681
* Add FIXME for alignments that won't be honored.Mike Stump2009-09-121-0/+2
| | | | llvm-svn: 81620
* Add support for __block variables with alignment greater than __alignof(void *).Anders Carlsson2009-09-121-22/+57
| | | | llvm-svn: 81602
* For __block variables, cache the LLVM types as well as which LLVM field ↵Anders Carlsson2009-09-121-7/+22
| | | | | | where the variable is stored. llvm-svn: 81599
* GlobalDecl doesn't have an explicit constructor anymore.Anders Carlsson2009-09-101-1/+1
| | | | llvm-svn: 81481
* Make the forwarding member of block byref structs be a pointer to the block ↵Anders Carlsson2009-09-101-4/+13
| | | | | | byref struct itself. llvm-svn: 81423
* Suppress build warning.Daniel Dunbar2009-09-091-0/+1
| | | | llvm-svn: 81384
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-44/+44
| | | | llvm-svn: 81346
* Make BuildByRefType take a ValueDecl instead of a QualType and an alignment.Anders Carlsson2009-09-091-3/+12
| | | | llvm-svn: 81315
* Remove an ErrorUnsupported call.Anders Carlsson2009-08-171-5/+0
| | | | llvm-svn: 79261
* Add an IsInitializer flag to EmitAnyExpr. This is used to prevent ↵Anders Carlsson2009-08-161-2/+2
| | | | | | temporaries from being destroyed when they're bound to a reference variable. llvm-svn: 79179
* Update for LLVM API change.Owen Anderson2009-08-131-10/+12
| | | | llvm-svn: 78946
* Refactor some code and implement support for global destructors for static ↵Anders Carlsson2009-08-081-1/+1
| | | | | | variables. llvm-svn: 78507
OpenPOWER on IntegriCloud