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

            Bug ID: 105578
           Summary: `constexpr` does not work on powerpc
           Product: gcc
           Version: 11.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: liushuyu011 at gmail dot com
  Target Milestone: ---

`constexpr` does not work on PowerPC when you use `-mabi=ibmlongdouble`.

Example code (this code snippet is considered well-formed by GCC on other
architectures):

#include <stdint.h>

constexpr long double LD_E =
2.71828182845904523536028747135266249775724709369995;
constexpr long double LD_E_R = 1.0 / LD_E;

GCC will produce an error:

test.c:4:36: error: '(1.0e+0l / 2.71828182845904509079559829842765e+0l)' is not
a constant expression
    4 | constexpr long double LD_E_R = 1.0 / LD_E;
      |                                ~~~~^~~~~~

Reply via email to