global declarations
Philip Herron
redbrain@gcc.gnu.org
Fri Sep 17 01:06:00 GMT 2010
Hey all
Been asking on irc tonight but i think many might be sensible and
sleeping. Anyway's this has been bugging me for some time, if i create
a VAR_DECL such as:
tree test = build_decl( UNKNOWN_LOCATION, VAR_DECL,
get_identifier("test"),
integer_type_node);
TREE_CONSTANT (test) = 1;
DECL_ARTIFICIAL (test) = 1;
TREE_STATIC (test) = 1;
TREE_READONLY (test) = 1;
TREE_USED (test) = 1;
DECL_INITIAL (test) = build_int_cst(integer_type_node, 1234 );
And i add it to the vector for:
wrapup_global_declarations( global_vec, global_vec_len );
check_global_declarations( global_vec, global_vec_len );
emit_debug_global_declarations( global_vec, global_vec_len );
cgraph_finalize_compilation_unit( );
This declaration is not compiled, though my FUNCTION_DCEL 's are
compiled fine though with functions i call:
gimplify_function_tree( retval );
cgraph_add_new_function(retval, false);
cgraph_finalize_function(retval, true);
So they are gimplified though not sure what i should be calling on
these VAR_DECL's, i just tried:
set_user_assembler_name (test, "test");
layout_decl (test, 0);
rest_of_decl_compilation (test, 1, 0);
gimple_seq seq_p = NULL;
bool x = gimplify_stmt( &test, &seq_p );
debug("x=<%i>!\n", (int)x );
But no luck it does gimplify but it seems to not know where to put the
stmt and then the tree goes null and i get a sigsegv later on. Not
quite sure how to get this working.
--Phil
More information about the Gcc-help
mailing list