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



Richard Biener <rguenth at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

             Status|UNCONFIRMED                 |ASSIGNED

   Last reconfirmed|                            |2013-02-01

         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org

                   |gnu.org                     |

   Target Milestone|---                         |4.8.0

     Ever Confirmed|0                           |1



--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-01 
09:42:36 UTC ---

-f[no-]builtin-* is a frontend option not supported by LTO (nor by Fortran

for example).  That it controls also middle-end behavior with respect to

LTO streaming 'pow' as a builtin is a bug I suppose (to be analyzed).

Probably caused by



      /* For variables prefer the builtin if one is available.  */

      else if (TREE_CODE (prevailing->symbol.decl) == FUNCTION_DECL)

        {

          for (e = first; e; e = e->symbol.next_sharing_asm_name)

            if (TREE_CODE (e->symbol.decl) == FUNCTION_DECL

                && DECL_BUILT_IN (e->symbol.decl))

              {

                prevailing = e;

                break;

              }

        }



and LTO un-conditionally initializing all builtins (well, and that's needed

unless we can do that lazily during streaming as we stream builtin decls

by their DECL_FUNCTION_CODE ...).



Hm.  I'll have a looksee.

Reply via email to