https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97710
Bug ID: 97710 Summary: Help with breaking change? cast point-to-member address in template parameter list Product: gcc Version: 10.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: mick.pearson at wildblue dot net Target Milestone: --- GCC used to agree with MSVC in letting pointer-to-member addresses be cast inside templates, i.e. compile time constants. Cygwin updated me to 10.2.0 and this now produces an "error: 'reinterpret_cast' is not a constant expression" diagnostic. The Clang tracker laughed at a request I made in the past to enable this for Clang. (Please reach consensus? https://bugs.llvm.org/show_bug.cgi?id=33708) I doubt Microsoft will break this in future versions of MSVC since that's not it's style, so I wonder if this is an oversight in GCC, and if not what recourse exists. Thank you, maybe related: https://patchwork.ozlabs.org/project/gcc/patch/or604puqhd....@lxoliva.fsfla.org/