History log of /external/clang/utils/ABITest/ABITestGen.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6ffef197e9388a54f983bfd86931119e0885ce51 27-Sep-2010 Daniel Dunbar <daniel@zuster.org> utils/ABITest: Factor out type naming code slightly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
586e4707d71aff4e184e0999970e446d7f39cc44 27-Sep-2010 Daniel Dunbar <daniel@zuster.org> utils/ABITest: Tweak default bit-field types to cover some more interesting cases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
ec2a646ea5659ff1231818fe4c5f72402398b403 27-Sep-2010 Daniel Dunbar <daniel@zuster.org> utils/ABITest: Add a workaround for mismatches due to PR5579.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
8012bf9e5e49685a68533c2cba1764c4acead2a2 27-Sep-2010 Daniel Dunbar <daniel@zuster.org> utils/ABITest: Add option to skip individual tests by index.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
43ec96da71b94f064ed6a3031025208d23acd592 02-Feb-2010 Douglas Gregor <doug.gregor@gmail.com> Implement promotion for enumeration types.

WHAT!?!

It turns out that Type::isPromotableIntegerType() was not considering
enumeration types to be promotable, so we would never do the
promotion despite having properly computed the promotion type when the
enum was defined. Various operations on values of enum type just
"worked" because we could still compute the integer rank of an enum
type; the oddity, however, is that operations such as "add an enum and
an unsigned" would often have an enum result type (!). The bug
actually showed up as a spurious -Wformat diagnostic
(<rdar://problem/7595366>), but in theory it could cause miscompiles.

In this commit:
- Enum types with a promotion type of "int" or "unsigned int" are
promotable.
- Tweaked the computation of promotable types for enums
- For all of the ABIs, treat enum types the same way as their
underlying types (*not* their promotion types) for argument passing
and return values
- Extend the ABI tester with support for enumeration types



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
fdcc64fe7aeccb4b826a26aec8f2a33f2bbe54d6 02-Feb-2010 Douglas Gregor <doug.gregor@gmail.com> Include <stdlib.h>, so that we're sure to get atoi.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
201788c5659239effc07cd9445669d5422a71a9a 10-Jul-2009 Eli Friedman <eli.friedman@gmail.com> Use /usr/bin/env trick to find python. Patch by Krister Walfridsson.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
7020cf4faf2440b35f9c8daa7e16a65c5cafaca0 25-May-2009 Eli Friedman <eli.friedman@gmail.com> Some minor corrections: don't use offsetof on a bitfield, and cast
printf operands to long to suppress warnings.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
9daf29a87644c97f4219a8f7f6fe035fb0372be3 09-May-2009 Daniel Dunbar <daniel@zuster.org> ABITest: Improve test driver marginally, to allow running a specific
test index.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
9c7e5fbf0585e9abe72381ca5393c8897f98ecdb 09-May-2009 Daniel Dunbar <daniel@zuster.org> ABITest: Fix a bug in generating test values for structures w/ no
non-padding fields.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
b6d59b83de14b3d1f7e62844dd627bf41f6256ce 08-May-2009 Daniel Dunbar <daniel@zuster.org> ABITest: Move default set of test args into common makefile.

Also, tweak default list of bit-fields to try.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
399e7ab3d9895c2a37956f92be77d5f7d5b7575d 08-May-2009 Daniel Dunbar <daniel@zuster.org> Add various other bits I use to run ABITest.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71201 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
98cca78ecd75704998eea81031bb82f06a9ed5de 08-May-2009 Daniel Dunbar <daniel@zuster.org> Add to the house of cards that is ABITestGen.
- Support generating structures with bit-fields.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
db85a63cc3643655bea26b468761f27a560e4364 02-Mar-2009 Daniel Dunbar <daniel@zuster.org> ABITestGen: Add v2i16 and v16f32 as default vector types to generate.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
640cdd4be7aca168f7c91db9e1b86370a512eb0e 22-Feb-2009 Daniel Dunbar <daniel@zuster.org> ABITestGen: Use explicit list of vector types instead of just a list
of sizes. Turns out we don't care very much about vector types that
don't map to the hardware.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
38db555e51aedd0f545524c5c0f6f7744066a36c 18-Feb-2009 Daniel Dunbar <daniel@zuster.org> ABITest: Add some checking of values for return types; useful for
catching internal consistency problems (esp. w/ reference compiler).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
e8c55b407d8fc494d814d5fda256a47f27ace3a5 29-Jan-2009 Daniel Dunbar <daniel@zuster.org> ABITest: Fix access to array test values.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
7700dca76b833927b6dc9b92f050be6e6ba93038 29-Jan-2009 Daniel Dunbar <daniel@zuster.org> ABITest: Fix test value generation for unions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
51ae63c2378b866ad879b2adb00d460f7af7434b 28-Jan-2009 Daniel Dunbar <daniel@zuster.org> ABITest: Support --test-layout option for generating
size/alignment/offsetof based tests of types instead of calling
convention tests.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
789e4babc9cf78df9565f215a119acad291aea63 26-Jan-2009 Daniel Dunbar <daniel@zuster.org> ABITestGen: Add generation of vector types.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py
a1bfe638c03c517b110f55962adb882f47131667 15-Jan-2009 Daniel Dunbar <daniel@zuster.org> Add utils/ABITest, my ABI test generation tool.
- Mostly written as an entertaining exercise in enumerating large or
(countably, naturally) infinite sets. But hey, its useful too!

- Idea is to number all C-types so that the N-th type can quickly be
computed, with a good deal of flexibility about what types to
include, and taking some care so that the (N+1)-th type is
interestingly different from the N-th type. For example, using the
default generator, the 1,000,000-th function type is:
--
typedef _Complex int T0;
typedef char T1 __attribute__ ((vector_size (4)));
typedef int T2 __attribute__ ((vector_size (4)));
T2 fn1000000(T0 arg0, signed long long arg1, T1 arg2, T0 arg3);
--
and the 1,000,001-th type is:
--
typedef _Complex char T0;
typedef _Complex char T2;
typedef struct T1 { T2 field0; T2 field1; T2 field2; } T1;
typedef struct T3 { } T3;
unsigned short fn1000001(T0 arg0, T1 arg1, T3 arg2);
--

Computing the 10^1600-th type takes a little less than 1s. :)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/utils/ABITest/ABITestGen.py