I think the intent was to put data objects initialized to 0 into BSS sections in order to minimize the size of object files as well as executables (most probably aggregaes).
Murthy -----Original Message----- From: Sun Chan [mailto:sun.c...@gmail.com] Sent: Monday, August 09, 2010 2:31 AM To: Open64-devel Cc: grey0...@gmail.com Subject: [Open64-devel] Why initialized (to zero value) symbol is markedundefine? Folks, Someone asked me this question and I'm not sure I know the exact reason why. May be someone can help. In wfe_decl.cxx, function static void Add_Inito_For_Tree (tree init, tree decl, ST *st) The symbol, if initiailzed by user to zero, FE will change the storage class to undefined global. Why? Thx in advance. Sun Here is the code inside that function: Set_ST_init_value_zero(st); if (ST_sclass(st) == SCLASS_DGLOBAL) Set_ST_sclass(st, SCLASS_UGLOBAL); return; } #endif aggregate_inito = New_INITO (st); not_at_root = FALSE; ------------------------------------------------------------------------ ------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ Open64-devel mailing list Open64-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open64-devel ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ Open64-devel mailing list Open64-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open64-devel