platform_system_core/libacc/tests/data
Jack Palevich 9221bcccb3 Preliminary struct and union support.
Working features:
 - struct
 - union
 - nested structs
 - anonymous structs
 - forward declarations
 - '.' and '->'
 - copying structs using '='

Missing features:
 - passing structs by value
 - returning structs by value
 - typedef
 - sizeof

Example:

struct v {float x, y, z, w; };

void add(struct v* result, struct v* a, struct v* b) {
    result->x = a->x + b->x;
    result->y = a->y + b->y;
    result->z = a->z + b->z;
    result->w = a->w + b->w;
}

Reworked size-of and alignment logic to support structs.

Improved encoding of ARM immediate constants.
2009-08-26 16:15:07 -07:00
..
array.c Support 2D arrays. 2009-08-04 15:39:49 -07:00
assignmentop.c Fix parsing of function declarations that return pointers. 2009-07-31 15:58:19 -07:00
b2071670.c Make pointer casting work. 2009-08-25 12:23:43 -07:00
bellard.otccex.c Convert libacc into a shared library. 2009-05-22 12:09:55 -07:00
brackets.c Support brackets for accessing array values. 2009-07-31 15:25:53 -07:00
casts.c Implement general casts and pointer dereferencing. 2009-07-13 15:57:26 -07:00
char.c Implement support for "char" local and global variables. 2009-07-13 16:56:28 -07:00
comma.c Support the comma operator. 2009-07-31 14:01:37 -07:00
constants.c Implement string and character backslash constants. 2009-06-12 12:49:14 -07:00
defines.c Allow redefinition of macros. 2009-08-18 18:25:56 -07:00
double.c Initial support for float, double. 2009-07-06 12:07:15 -07:00
error.c Improve ACC error reporting. 2009-05-29 13:53:44 -07:00
expr-ansi.c Improve local variable scoping. 2009-06-11 21:47:57 -07:00
expr.c Convert libacc into a shared library. 2009-05-22 12:09:55 -07:00
expr2.c Improve local variable scoping. 2009-06-11 21:47:57 -07:00
film.c Fix bad ARM code generation for '||' and '&&' operators. 2009-07-30 16:19:43 -07:00
float.c Improve numerical constant parsing. 2009-07-15 16:16:37 -07:00
floatdouble.c Coerce R0 to destination type before storing it into a variable. 2009-07-16 18:24:47 -07:00
flops.c Add test for passing floats and doubles as ints, floats, and doubles. 2009-07-14 19:39:36 -07:00
funcargs.c Handle functions with anonymous arguments 2009-08-19 10:53:43 -07:00
hello.c Convert libacc into a shared library. 2009-05-22 12:09:55 -07:00
inc.c Implement pre-increment / pre-decrement 2009-07-31 14:34:34 -07:00
iops.c Fix the ARM postdecrement operator. 2009-07-23 11:45:15 -07:00
locals.c Improve symbol-related error checking 2009-06-12 11:25:59 -07:00
missing-main.c Convert libacc into a shared library. 2009-05-22 12:09:55 -07:00
otcc-ansi.c Improve local variable scoping. 2009-06-11 21:47:57 -07:00
otcc-noinclude.c Add support for #pragma foo(bar) 2009-06-04 16:38:35 -07:00
otcc.c Make otcc code work in x64 based system with 32-bit chroot. 2009-06-09 22:59:04 +00:00
pointers.c Implement pointer arithmetic. 2009-07-13 18:40:08 -07:00
pointers2.c Test multiple levels of pointer indirection. 2009-07-31 11:27:29 -07:00
returnval-ansi.c Make otcc code work in x64 based system with 32-bit chroot. 2009-06-09 22:59:04 +00:00
returnval.c Make otcc code work in x64 based system with 32-bit chroot. 2009-06-09 22:59:04 +00:00
rollo3.c Make forward declarations of external symbols really work. 2009-07-14 18:35:36 -07:00
short.c Add support for "short" data type. 2009-08-03 14:42:57 -07:00
simplest.c Convert libacc into a shared library. 2009-05-22 12:09:55 -07:00
structs.c Preliminary struct and union support. 2009-08-26 16:15:07 -07:00
testStringConcat.c Clean up expression code. 2009-07-01 15:32:35 -07:00