http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58298

Yufeng Zhang <yufeng at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |yufeng at gcc dot gnu.org

--- Comment #3 from Yufeng Zhang <yufeng at gcc dot gnu.org> ---
I briefly saw the issue on aarch64 and arm, but I think it has been fixed by
the following commit:

commit 8d4e699477b53778f0e933cb77d71e28a1e70536
Author: hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Mon Sep 2 14:45:06 2013 +0000

        * lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls):
        DECL_FIELD_OFFSET can contain an reference to variable.


    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202174
138bc75d-0d04-0410-961f-82ee72b054a4

diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index cf31c21..fe8e463 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,5 +1,10 @@
 2013-08-31  Jan Hubicka  <j...@suse.cz>

+       * lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls): 
+       DECL_FIELD_OFFSET can contain an reference to variable.
+
+2013-08-31  Jan Hubicka  <j...@suse.cz>
+
        * lto.c (tree_with_vars): Turn into vector.
        (MAYBE_REMEMBER_WITH_VARS): Change to...
        (CHECK_VAR): ... this one.
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index 1d1350b..0cea778 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -1389,7 +1389,7 @@ mentions_vars_p_field_decl (tree t)
 {
   if (mentions_vars_p_decl_common (t))
     return true;
-  CHECK_NO_VAR (DECL_FIELD_OFFSET (t));
+  CHECK_VAR (DECL_FIELD_OFFSET (t));
   CHECK_NO_VAR (DECL_BIT_FIELD_TYPE (t));
   CHECK_NO_VAR (DECL_QUALIFIER (t));
   CHECK_NO_VAR (DECL_FIELD_BIT_OFFSET (t));
@@ -3207,7 +3207,7 @@ lto_fixup_prevailing_decls (tree t)
        LTO_SET_PREVAIL (DECL_FUNCTION_PERSONALITY (t));
       if (CODE_CONTAINS_STRUCT (code, TS_FIELD_DECL))
        {
-         LTO_NO_PREVAIL (DECL_FIELD_OFFSET (t));
+         LTO_SET_PREVAIL (DECL_FIELD_OFFSET (t));
          LTO_NO_PREVAIL (DECL_BIT_FIELD_TYPE (t));
          LTO_NO_PREVAIL (DECL_QUALIFIER (t));
          LTO_NO_PREVAIL (DECL_FIELD_BIT_OFFSET (t));

Reply via email to