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: small varasm.c improvements


The recent patch to varasm.c makes the code 920501-5.c in the
gcc.c-torture/execute fail on the c4x target. If I apply:

@@ -2611,7 +2611,7 @@ maybe_output_constant_def_contents (desc

   /* The only constants that cannot safely be deferred, assuming the
      context allows it, are strings under flag_writable_strings.  */
-  if (defer && (TREE_CODE (desc->value) != STRING_CST
+  if (0&&defer && (TREE_CODE (desc->value) != STRING_CST
                || !flag_writable_strings))
     {
       if (cfun)

to varasm.c the code works again. The problem is that the labels x,y and z
are put in the constant pool. Then cfgrtl.c removes the code that is present
at these labels because it does not detect that the labels are used in 
the constant pool.

	Herman.


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