https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116127
Bug ID: 116127 Summary: __builtin_lgamma(1.0e+0) is not a constant expression Product: gcc Version: 14.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: tomerv at gmail dot com Target Milestone: --- The other builtin math functions are constant expressions, e.g. this compiles: static_assert(__builtin_tgamma(1.0) == 1.0); static_assert(__builtin_log(__builtin_tgamma(1.0)) == 0.0); However, this does not: static_assert(__builtin_lgamma(1.0) == 0.0); The error is: <source>:5:37: error: non-constant condition for static assertion 5 | static_assert(__builtin_lgamma(1.0) == 0.0); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~ <source>:5:31: error: '__builtin_lgamma(1.0e+0)' is not a constant expression 5 | static_assert(__builtin_lgamma(1.0) == 0.0); | ~~~~~~~~~~~~~~~~^~~~~