I have 4 test cases, and I believe that they are all valid:
constexpr int f(int const& ){ return 1; } void g(int const& p){ constexpr int a = f(p);
Clang and GCC differ only in the first test case.
I tested with clang 4 and 5 (20170319) and with GCC 7.0.1 (20170221).
If I am right, it will greatly simplify the use of boost :: hana in static_assert's.
source share