summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExprConstant.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix for codegen crash on multibit bool bitfield initializationDaniel Dunbar2008-07-171-0/+7
| | | | | | <rdar://problem/6078606> llvm-svn: 53737
* "this patch adds code generation hooks for Objective-C constant strings. It ↵Chris Lattner2008-06-211-0/+4
| | | | | | | | also modifies Sema so that Objective-C constant strings are treated as untyped objects if the interface for the constant string class can not be found. This is consistent with Apple GCC. I thought it was consistent with GNU GCC, since this was causing failures when trying to compile GNUstep with (GNU) GCC, but it appears that this is not the case when attempting to produce a simple test case to demonstrate it. Possibly there is a way of making the error go away, but I haven't found out what it is yet." Patch by David Chisnall! llvm-svn: 52599
* Fix crash with conversion to an address-space-qualified pointer. Bug Eli Friedman2008-06-071-2/+2
| | | | | | | | | | reported on cfe-dev by Cédric Venet. Note that I seriously doubt that this perticular construct is useful, though: it's a pointer in an alternate address space pointing into unqualified address space. llvm-svn: 52076
* Reorganize this loop a bit so it doesn't crash for empty unions. Fixes Eli Friedman2008-06-061-4/+6
| | | | | | PR2419. llvm-svn: 52060
* implement constant expr. sub ptr ptrNuno Lopes2008-06-061-3/+13
| | | | llvm-svn: 52049
* Make sure _Bool globals have the correct type.Eli Friedman2008-06-011-3/+8
| | | | llvm-svn: 51838
* Fix and enable generating general union initializers. Essentially, what Eli Friedman2008-05-301-9/+26
| | | | | | | | | | | | this does is reconstruct the type for structs and arrays if the type wouldn't be compatible otherwise. The assertion about packing in the struct type reconstruction code sucks, but I don't see any obvious way to fix it. Maybe we need a general utility method to take a list of types and alignments and try to construct an unpacked type if possible? llvm-svn: 51785
* Fix constant vector init for initializer lists with an incomplete list Eli Friedman2008-05-301-6/+9
| | | | | | of elements. llvm-svn: 51769
* Some additions to constant initializer generation code. Adds Eli Friedman2008-05-301-28/+132
| | | | | | | | | | | | | | bit-field initialization; ugly code, X86-only, but it works, at least for basic stuff. Separates/adds union initialization; currently disabled, though, because the struct/array code needs modifications to support elements of the wrong type. Fixes PR2381 and PR2309 with the bit-field initialization. And NetHack compiles and appears to work with a few tweaks (to work around the lack of transparent_union support, and clang being a bit strict about conflicting declarations). llvm-svn: 51763
* More complete/correct implementation of the comparison operators for Eli Friedman2008-05-291-7/+47
| | | | | | constant expressions. llvm-svn: 51682
* Add codegen support for a few more kinds of initializer constant Eli Friedman2008-05-291-0/+35
| | | | | | expressions. llvm-svn: 51677
* Restructure constant structure init codegen so that it's possible to Eli Friedman2008-05-201-29/+20
| | | | | | | | implement bitfield codegen (although I don't envy the person who implements it). This also prevents a crash on code like that from PR2309 (it's still broken, but it fails more gracefully). llvm-svn: 51285
* Remove code that shouldn't have any effect anymore.Eli Friedman2008-05-201-18/+0
| | | | llvm-svn: 51284
* use simplified ConstantFP:get method.Chris Lattner2008-04-201-1/+1
| | | | llvm-svn: 49979
* Remove FileVarDecl and BlockVarDecl. They are replaced by ↵Steve Naroff2008-04-151-5/+7
| | | | | | | | VarDecl::isBlockVarDecl() and VarDecl::isFileVarDecl(). This is a fairly mechanical/large change. As a result, I avoided making any changes/simplifications that weren't directly related. I did break two Analysis tests. I also have a couple FIXME's in UninitializedValues.cpp. Ted, can you take a look? If the bug isn't obvious, I am happy to dig in and fix it (since I broke it). llvm-svn: 49748
* Add support for C++ default arguments, and rework Parse-Sema Chris Lattner2008-04-081-0/+4
| | | | | | | | interaction for function parameters, fixing PR2046. Patch by Doug Gregor! llvm-svn: 49369
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-0/+627
lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
OpenPOWER on IntegriCloud