Record Types and Arrays
Philip Herron
redbrain@gcc.gnu.org
Thu Mar 3 17:57:00 GMT 2011
Hi
I had this problem ages ago but only this last month getting properly
back into my gcc work again on a more stable basis and i never really
fixed this problem say for example in C code you could do something
like:
struct foo {
int x;
float y;
}
static struct foo x[] = {
{1,1.5},
{2,1.5}
{0,0},
......
}
And these are toplevel declarations outside of function blocks etc. I
am able to create the record type fine, but when i try to add a top
level var_decl using something like:
tree array_type = build_array_type (gpy_callable_type,
build_index_type (build_int_cst
(integer_type_node,
VEC_length(tree,gpy_function_decls))) );
tree callable_var_decl = build_decl (BUILTINS_LOCATION,VAR_DECL,
get_identifier("__gpy_module_main_callables"),
array_type);
DECL_ARTIFICIAL (callable_var_decl) = 1;
TREE_STATIC (callable_var_decl) = 1;
TREE_PUBLIC (callable_var_decl) = 1;
TREE_USED (callable_var_decl) = 1;
I get gimple dump output (although you dont see toplevel decls in
gimple for some reason) but no assembler output. I am not quite sure
what i am doing wrong with this.
--Phil
More information about the Gcc-help
mailing list