This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix Ada bootstrap on darwin


On Friday, December 10, 2004, at 05:01 PM, John David Anglin wrote:
I've been workin on a fix for PR c++/17242.  It turns out this is
a problem in the handling of uninitialized one-only variables.

We handle this currently by:


/* APPLE LOCAL begin zerofill 20020218 --turly */
#ifdef ASM_OUTPUT_ZEROFILL
/* We need a ZEROFILL COALESCED option! */
if (!DECL_COMMON (decl)
&& ! dont_output_data
&& ! DECL_ONE_ONLY (decl)
&& ! DECL_WEAK (decl)
&& (DECL_INITIAL (decl) == 0 || DECL_INITIAL (decl) == error_mark_node))
{
ASM_OUTPUT_ZEROFILL (asm_out_file, name,
tree_low_cst (DECL_SIZE_UNIT (decl), 1),
floor_log2 (DECL_ALIGN (decl) / BITS_PER_UNIT));


      /********************************/
      /* NOTE THE EARLY RETURN HERE!! */
      /********************************/
      return;
    }
#endif
  /* APPLE LOCAL end zerofill 20020218 --turly  */

in assemble_variable right after variable_section (decl, reloc);. It just doesn't work for weaks or COMDAT or ONE_ONLY. :-(


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]