http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55311
--- Comment #2 from Niels Penneman <niels at penneman dot org> 2012-12-05
08:32:42 UTC ---
Workaround for GCC 4.8.0-alpha20121202 (full version details see earlier post)
for case #2: replace STRING_PTR template parameter with static_cast<const char
*const>(STRING_PTR).
Example code below with same invocation arguments is accepted by the compiler.
===================================================
extern constexpr char STRING_PTR[] = "test";
template <const char *const C, typename T>
struct A {};
template <typename T>
struct B: A<static_cast<const char *const>(STRING_PTR), T> {};
===================================================
This workaround does not work for case #1 (with 'using') and does not seem to
work on 4.7.2 in general.