[Bug tree-optimization/41089] [4.8/4.9/5/6 Regression] stdarg pass produces wrong code

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Apr 20 10:09:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41089

--- Comment #59 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to vries from comment #58)

> Given the fix of PR64950, we should be able to remove the workaround
> committed for this PR.

I have started bootstrap/regtest with the following revert:

--cut here--
Index: config/alpha/alpha.c
===================================================================
--- config/alpha/alpha.c (revision 222228)
+++ config/alpha/alpha.c (working copy)
@@ -5957,10 +5957,6 @@ alpha_build_builtin_va_list (void)
                    integer_type_node);
   DECL_FIELD_CONTEXT (ofs) = record;
   DECL_CHAIN (ofs) = space;
-  /* ??? This is a hack, __offset is marked volatile to prevent
-     DCE that confuses stdarg optimization and results in
-     gcc.c-torture/execute/stdarg-1.c failure.  See PR 41089.  */
-  TREE_THIS_VOLATILE (ofs) = 1;

   base = build_decl (BUILTINS_LOCATION,
                     FIELD_DECL, get_identifier ("__base"),
--cut here--


More information about the Gcc-bugs mailing list