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

            Bug ID: 70358
           Summary: Several
                    26_numerics/random/binomial_distribution/operators
                    etc. tests FAIL
           Product: gcc
           Version: 5.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: redi at gcc dot gnu.org
  Target Milestone: ---
              Host: *-*-solaris2.1[12]
            Target: *-*-solaris2.1[12]
             Build: *-*-solaris2.1[12]

Several libstdc++-v3 tests currently FAIL on Solaris 11 and 12, both sparc and
x86, both 32 and 64-bit, but on the gcc-4.9 and gcc-5 branches only:

FAIL: 26_numerics/random/binomial_distribution/operators/values.cc (test for
excess errors)
WARNING: 26_numerics/random/binomial_distribution/operators/values.cc
compilation failed to produce executable
FAIL: 26_numerics/random/binomial_distribution/operators/values2.cc (test for
excess errors)
WARNING: 26_numerics/random/binomial_distribution/operators/values2.cc
compilation failed to produce executable
FAIL: 26_numerics/random/binomial_distribution/operators/values3.cc (test for
excess errors)
WARNING: 26_numerics/random/binomial_distribution/operators/values3.cc
compilation failed to produce executable
FAIL: 26_numerics/random/binomial_distribution/operators/values4.cc (test for
excess errors)
WARNING: 26_numerics/random/binomial_distribution/operators/values4.cc
compilation failed to produce executable
FAIL: 26_numerics/random/binomial_distribution/operators/values5.cc (test for
excess errors)
WARNING: 26_numerics/random/binomial_distribution/operators/values5.cc
compilation failed to produce executable
FAIL: 26_numerics/random/negative_binomial_distribution/operators/values.cc
(test for excess errors)
WARNING: 26_numerics/random/negative_binomial_distribution/operators/values.cc
compilation failed to produce executable
FAIL: 26_numerics/random/poisson_distribution/operators/values.cc (test for
excess errors)
WARNING: 26_numerics/random/poisson_distribution/operators/values.cc
compilation failed to produce executable
FAIL: ext/random/hypergeometric_distribution/operators/values.cc (test for
excess errors)
WARNING: ext/random/hypergeometric_distribution/operators/values.cc compilation
failed to produce executable

For example,

Excess errors:
/vol/gcc/src/hg/gcc-5-branch/local/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/values.cc:36:67:
error: 'binomial_pdf' was not declared in this scope
/vol/gcc/src/hg/gcc-5-branch/local/libstdc++-v3/testsuite/util/testsuite_random.h:56:7:
error: void value not ignored as it ought to be

It turns out, the same tests are UNSUPPORTED on mainline.  When I check
libstdc++.log, I find

output is:
c99_math20881.cc:3:4: error: #error No C99 math

on mainline while the test passes on e.g. gcc-5 branch.

The test is

#include <tr1/cmath>
#ifndef _GLIBCXX_USE_C99_MATH_TR1
#  error No C99 math
#endif

Strangely, _GLIBCXX_USE_C99_MATH_TR1 is defined in both gcc-5 and trunk
config.h.

Looking at c99_math.ii, I find

#define _GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH
#define _GLIBCXX11_USE_C99_MATH 1
#define _GLIBCXX98_USE_C99_MATH 1
#define _GLIBCXX_USE_C99_MATH_TR1 1
#undef _GLIBCXX_USE_C99_MATH
#undef _GLIBCXX_USE_C99_MATH_TR1

on mainline, but

#define _GLIBCXX_USE_C99_MATH 1
#define _GLIBCXX_USE_C99_MATH_TR1 1

on the gcc-5 branch.

  Rainer

Reply via email to