aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/const-init.c
AgeCommit message (Collapse)Author
2012-08-20Fix InitListExpr::isStringLiteralInit so it handles various edge cases ↵Eli Friedman
correctly. PR13643. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162226 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-22Add support for bitcasts to vector type in Evaluate.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147137 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-12fix an unintended behavior change in the type system rewrite, which caused ↵Chris Lattner
us to compile stuff like this: typedef struct { int x, y, z; } foo_t; foo_t g; into: %"struct.<anonymous>" = type { i32, i32, i32 } we now get: %struct.foo_t = type { i32, i32, i32 } This doesn't change the behavior of the compiler, but makes the IR much easier to read. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134969 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-09clang side to match the LLVM IR type system rewrite patch.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134831 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-20Update to match mainline ConstantStruct::get API change. Also, use Chris Lattner
ConvertType on InitListExprs as they are being converted. This is needed for a forthcoming patch, and improves the IR generated anyway (see additional type names in testcases). This patch also converts a bunch of std::vector's in CGObjCMac to use C arrays. There are a ton more that should be converted as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133413 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-02Only emit string initializers in-place if types match. Fixes PR9373.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126883 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-10Add unnamed_addr when creating artificial string globals. For example, inRafael Espindola
static const char foo[] = "foo"; static const char *bar = "bar"; the global created to hold "bar" will have it, but foo will not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123192 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03A constant initializer never matches the type of the variable it'sJohn McCall
initializing; it at best matches the element type of the variable it's initializing. Fixes PR8073. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112992 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar
- This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-22Use intptr_t from stdint.h (in freestanding mode) instead of redefining it hereKen Dyck
with __INTPTR_TYPE__. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89609 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-14Make __func__ and friends work correctly within the initializer for a staticEli Friedman
local variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88766 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-13Obvious fix for PR5474.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88696 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-15Removed math.h include, as Windows math.h has a compile error.John Thompson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84160 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08In VC++, the *printf functions put an extra "0" in the exponent partMike Stump
of a floating point number. This add regular expressions to account for this. Patch by John Thompson. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83581 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-02FileCheckize test case.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83244 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-02Don't update the struct alignment when adding fields to a packed struct. ↵Anders Carlsson
Fixes PR5118. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83235 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-02When building constant structs, check if the resulting LLVM struct will be ↵Anders Carlsson
bigger than the record layout size and use a packed struct if that's the case. Fixes PR5108. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83230 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11Update this test to expect the "inbounds" keyword, which LLVM's constantDan Gohman
folder is now automatically adding. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81491 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27Enable the new struct type builder now that the constant struct builder ↵Anders Carlsson
works. (The old code will still be there until we know that everything works well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77190 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27Enable the new constant struct builder by default. The old code is still in ↵Anders Carlsson
place but will be removed shortly. The new struct builder works on big endian systems. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77185 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-19Remove the -arch option from clang-cc: for all practical purposes, it's Eli Friedman
redundant with -triple. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72108 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30Fix for PR4108: be a bit looser with the casts that we accept in Eli Friedman
constant initializers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70483 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-28Move where block-related variables are initialized so that block Eli Friedman
types don't get generated when blocks aren't used. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67898 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Rename clang to clang-cc.Daniel Dunbar
Tests and drivers updated, still need to shuffle dirs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01adjust to changes in the mainline llvm .ll printer.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65745 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-25Allow constant initializers to reference their defining decl.Daniel Dunbar
- PR3662. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65472 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-25Remove a FIXME; I was mistaken in believing gcc rejected this.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65420 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-24Fix IRgen of constant expressions referring to external/staticDaniel Dunbar
variables. - PR3657. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65381 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22Cleanp code with some recent suggestions.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65285 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Force arch for these test cases.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65252 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20Handle constant int -> ptr casts of lvalue results.Daniel Dunbar
- PR3463 (again). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65133 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-19Extend Evaluate() to fold (int) <pointer type>.Daniel Dunbar
- PR3463, PR3398, <rdar://problem/6553401> crash on relocatable symbol addresses as constants in static locals. - There are many more scenarious we could handle (like arithmetic on such an int) but this is the main use case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65074 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29Evaluate ==,!= for complex types.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63280 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28Implement basic _Complex integer constant folding.Daniel Dunbar
- Merged into single ComplexEvaluator, these share too much logic to be worth splitting for float/int (IMHO). Will split on request. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63248 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-22Add test for PR2992.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59861 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-05Fix const-init test caseDaniel Dunbar
- Use -verify and added expected warnings for EXTWARN change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54342 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29Add codegen support for a few more kinds of initializer constant Eli Friedman
expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51677 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-21Some const initializer tests for stuff I just committed.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47442 91177308-0d34-0410-b5e6-96231b3b80d8