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

           Summary: [4.7 regression] Several libstdc++ tests fail to link
                    on Solaris 8/9: cexp missing
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: r...@gcc.gnu.org
                CC: wschm...@gcc.gnu.org
              Host: *-*-solaris2.[89]
            Target: *-*-solaris2.[89]
             Build: *-*-solaris2.[89]


Between 20110523 and 20110525, several libstdc++ tests fail to link on Solaris
8 and 9 (both SPARC and x86) that lacks cexp in libm:

FAIL: 26_numerics/complex/13450.cc (test for excess errors)
Excess errors:
Undefined            first referenced
 symbol                  in file
cexp                                /var/tmp//ccvyjKLM.o
cexpf                               /var/tmp//ccvyjKLM.o
cexpl                               /var/tmp//ccvyjKLM.o
ld: fatal: Symbol referencing errors. No output written to ./13450.exe

Comparing -save-temps output before and after the patch, I find no changes to
the .ii file, no calls to cexp before the patch, but calls after.

I very strongly suspect this patch:

2011-05-24  Bill Schmidt  <wschm...@linux.vnet.ibm.com>

        PR tree-optimization/46728
        * tree-ssa-math-opts.c (powi_table): New.
        (powi_lookup_cost): New.
        (powi_cost): New.
        (powi_as_mults_1): New.
        (powi_as_mults): New.
        (gimple_expand_builtin_powi): New.
        (execute_cse_sincos): Add switch case for BUILT_IN_POWI.
        (gate_cse_sincos): Remove sincos/cexp restriction.

Please fix.
  Rainer

Reply via email to