https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60401
--- Comment #6 from Dominik Vogt <vogt at linux dot vnet.ibm.com> --- The fix seems to be incomplete. This program still does not compile: -- snip -- #include <math.h> static long double (*p3c_)(long double) = acosh; -- snip -- $ g++ -std=c++11 -S x.C x.C:3:43: error: invalid conversion from ‘double (*)(double) throw ()’ to ‘long double (*)(long double)’ [-fpermissive] static long double (*p3c_)(long double) = acosh; ^~~~~ $ g++ --version g++ (GCC) 6.0.0 20160120 (experimental)