This code doesn't compile in Coliru, although it seems to comply with iso §5.19 p2 9th bullet point and iso §3.9 p10, i.e., S is a literal type and so, S a(1); should be considered a constant expression. In particular, iso §3.9 p10 bullet point 3 doesn't say anything about unitialized members.
#include <iostream>
struct S
{
int i;
float x;
constexpr S(int j) : i{j} {}
};
int main()
{
constexpr S a(1);
}