Рассмотрим следующий фрагмент кода:
struct foo {
  static constexpr const void* ptr = reinterpret_cast<const void*>(0x1);
};
auto main() -> int {
  return 0;
}
Вышеприведенный пример компилируется в g++ v4.9 (Live Demo), в то время как он не компилируется в clang v3.4 (Live Demo) и генерирует следующую ошибку:
error: constexpr variable 'ptr' должна быть инициализирована константным выражением
Вопросы:
-  Какой из двух компиляторов прав в соответствии со стандартом? 
-  Каков правильный способ объявления выражения такого рода? 
