summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExprConstant.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Update for LLVM API change.Owen Anderson2009-07-281-2/+2
| | | | llvm-svn: 77368
* Update for LLVM API change.Owen Anderson2009-07-281-4/+4
| | | | llvm-svn: 77349
* Update for LLVM API change.Owen Anderson2009-07-271-6/+6
| | | | llvm-svn: 77267
* Update for LLVM API change.Owen Anderson2009-07-271-4/+6
| | | | llvm-svn: 77249
* Enable the new constant struct builder by default. The old code is still in ↵Anders Carlsson2009-07-271-3/+4
| | | | | | place but will be removed shortly. The new struct builder works on big endian systems. llvm-svn: 77185
* More work on the constant struct builder, fix a couple of thinkos and add ↵Anders Carlsson2009-07-271-9/+59
| | | | | | support for inserting part of a bitfield in the previous byte. llvm-svn: 77180
* More work on bitfield support in the new constant struct builder.Anders Carlsson2009-07-271-2/+79
| | | | llvm-svn: 77177
* More work on the constant struct builder. We can now convert the struct to a ↵Anders Carlsson2009-07-251-3/+40
| | | | | | packed struct when necessary. llvm-svn: 77038
* More work on the constant struct builder. We now try to layout all constant ↵Anders Carlsson2009-07-251-6/+19
| | | | | | structs but throw away the result. llvm-svn: 77021
* Update for LLVM API change.Owen Anderson2009-07-241-7/+10
| | | | llvm-svn: 77012
* Fix a release build warning.Anders Carlsson2009-07-241-1/+1
| | | | llvm-svn: 76985
* Check in a half finished new constant struct builder (Obviously not used yet).Anders Carlsson2009-07-241-0/+146
| | | | llvm-svn: 76969
* Move the LLVM field number for bit fields into the BitFieldInfo structure, ↵Anders Carlsson2009-07-231-10/+10
| | | | | | since it's meaning is completely different than for non-bit fields. llvm-svn: 76882
* Use arrays as union padding. Also, since the resulting struct will always ↵Anders Carlsson2009-07-231-7/+10
| | | | | | contain a single element and either a single i8 element or an array of i8s, there's no reason to use a packed struct. llvm-svn: 76854
* Per offline discussion with Steve Naroff, add back Type::getAsXXXType() methodsTed Kremenek2009-07-171-2/+2
| | | | | | | | | until Doug Gregor's Type smart pointer code lands (or more discussion occurs). These methods just call the new Type::getAs<XXX> methods, so we still have reduced implementation redundancy. Having explicit getAsXXXType() methods makes it easier to set breakpoints in the debugger. llvm-svn: 76193
* Replaced Type::getAsLValueReferenceType(), Type::getAsRValueReferenceType(), ↵Ted Kremenek2009-07-171-2/+2
| | | | | | Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents. llvm-svn: 76139
* Update for LLVM API change, and contextify a bunch of related stuff.Owen Anderson2009-07-141-46/+48
| | | | llvm-svn: 75705
* Update for API change.Owen Anderson2009-07-141-1/+1
| | | | llvm-svn: 75569
* Update for LLVM API change.Owen Anderson2009-07-131-7/+8
| | | | llvm-svn: 75446
* Update for LLVM API change.Owen Anderson2009-07-081-2/+2
| | | | llvm-svn: 75028
* Update for LLVM API change.Owen Anderson2009-07-081-1/+1
| | | | llvm-svn: 74986
* De-ASTContext-ify DeclContext.Argyrios Kyrtzidis2009-06-301-4/+4
| | | | | | | Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating". Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit. llvm-svn: 74506
* PR4390: Make sure to handle anonymous unions correctly while building Eli Friedman2009-06-141-5/+2
| | | | | | static intializers for structs. llvm-svn: 73349
* Sink the BuiltinInfo object from ASTContext into theChris Lattner2009-06-141-0/+1
| | | | | | | | preprocessor and initialize it early in clang-cc. This ensures that __has_builtin works in all modes, not just when ASTContext is around. llvm-svn: 73319
* Fix up constant expression handling to deal with the address Eli Friedman2009-05-271-15/+3
| | | | | | of a reference correctly. llvm-svn: 72463
* Reflow some comments.Mike Stump2009-05-161-3/+3
| | | | llvm-svn: 71937
* push GlobalDecl through enough of the CodeGenModule interfacesChris Lattner2009-05-121-1/+1
| | | | | | | | | to allow us to support generation of deferred ctors/dtors. It looks like codegen isn't emitting a call to the dtor in member-functions.cpp:test2, but when it does, its body should get emitted. llvm-svn: 71594
* Correct for renaming PaddedSize -> AllocSize inDuncan Sands2009-05-091-6/+6
| | | | | | LLVM. llvm-svn: 71350
* Fix crash with constant initialization of bit-fields in unions.Eli Friedman2009-05-071-1/+1
| | | | llvm-svn: 71194
* Fix for PR4108: be a bit looser with the casts that we accept in Eli Friedman2009-04-301-2/+3
| | | | | | constant initializers. llvm-svn: 70483
* Minor work related to removing the assumption that value initialization Eli Friedman2009-04-131-11/+18
| | | | | | implies an all-zero bit pattern. llvm-svn: 68994
* Add support for generating reference initialization code.Anders Carlsson2009-04-111-2/+21
| | | | llvm-svn: 68852
* Rename variables to avoid conflict.Anders Carlsson2009-04-101-8/+8
| | | | llvm-svn: 68764
* Propagate the ASTContext to various AST traversal and lookup functions.Douglas Gregor2009-04-091-4/+4
| | | | | | No functionality change (really). llvm-svn: 68726
* Add a destination type argument to EmitConstantExpr. This will be used for ↵Anders Carlsson2009-04-081-9/+17
| | | | | | when the destination has a reference type. (No functionality change yet) llvm-svn: 68593
* More "prep" work for handling UTF16 CFString.Steve Naroff2009-04-011-2/+1
| | | | | | Patch by Jean-Daniel Dupas. Thanks! llvm-svn: 68203
* Some "prep" work for handling ObjC @-string constants that contain UTF-8. No ↵Steve Naroff2009-03-311-3/+2
| | | | | | | | functionality change. Changed GenerateConstantString() to take an ObjCStringLiteral (instead of a std::string). While this isn't strictly necessary, it seems cleaner and allows us to cache to "containsNonAscii" if necessary (to avoid checking in both Sema and CodeGen). llvm-svn: 68114
* Return 0 if the ConstExprEmitter can't handle an expression.Anders Carlsson2009-03-031-3/+1
| | | | llvm-svn: 65951
* Do some blocks cleanup and simplification. Fix a crash, and add a test case.Anders Carlsson2009-03-011-3/+7
| | | | llvm-svn: 65746
* CodeGen support for copied BlockDeclRefExprs.Mike Stump2009-02-251-1/+1
| | | | llvm-svn: 65487
* first wave of fixes for @encode sema support. This is part of PR3648.Chris Lattner2009-02-241-4/+23
| | | | | | | The big difference here is that (like string literal) @encode has array type, not pointer type. llvm-svn: 65391
* Fix IRgen of constant expressions referring to external/staticDaniel Dunbar2009-02-241-5/+8
| | | | | | | variables. - PR3657. llvm-svn: 65381
* Eliminate a bunch of code which should be dead.Eli Friedman2009-02-221-194/+5
| | | | llvm-svn: 65267
* Add enough checking to ensure that non-constant block literals don'tMike Stump2009-02-191-1/+5
| | | | | | | appear to be constant. I'll probably redo this and throw it all away later once we have codegen for BlockDeclRefExprs. llvm-svn: 65070
* Remove IRgen constant emission assumption that LValue APValue resultsDaniel Dunbar2009-02-191-15/+31
| | | | | | | | | only occur for pointer types; they are also possible for integer types now. - No intended functionality change, IntExprEvaluate doesn't return LValue results yet. llvm-svn: 65066
* More codegen for blocks. The type of block literals should be better.Mike Stump2009-02-191-0/+3
| | | | | | The size calculation is improved. llvm-svn: 64994
* Change EmitConstantExpr to allow failure.Daniel Dunbar2009-02-171-15/+33
| | | | | | | | | | | | | | IRgen no longer relies on isConstantInitializer, instead we just try to emit the constant. If that fails then in C we emit an error unsupported (this occurs when Sema accepted something that it doesn't know how to fold, and IRgen doesn't know how to emit) and in C++ we emit a guarded initializer. This ends up handling a few more cases, because IRgen was actually able to emit some of the constants Sema accepts but can't Evaluate(). For example, PR3398. llvm-svn: 64780
* Generate the helper function for blocks. Now basic codegen isMike Stump2009-02-141-1/+4
| | | | | | starting to work for blocks. llvm-svn: 64570
* Add hook to add attributes to function declarations that we knowDouglas Gregor2009-02-141-1/+2
| | | | | | | | | | | | | | | | about, whether they are builtins or not. Use this to add the appropriate "format" attribute to NSLog, NSLogv, asprintf, and vasprintf, and to translate builtin attributes (from Builtins.def) into actual attributes on the function declaration. Use the "printf" format attribute on function declarations to determine whether we should do format string checking, rather than looking at an ad hoc list of builtins and "known" function names. Be a bit more careful about when we consider a function a "builtin" in C++. llvm-svn: 64561
* Add a very basic implemenation of global blocks. This needs to be cleaned up.Anders Carlsson2009-02-121-0/+4
| | | | llvm-svn: 64387
OpenPOWER on IntegriCloud