const &y = x;
Это не ссылка без типа, а синтаксически неверный код, который не пройдет трансляцию за пределами GCC.
Т.к. ты пользуешься GCC, тебе стоит принять во внимание то, что он не соблюдает стандарт в некоторых случаях.
В частности - в данном случае.
В C++ нет типа по умолчанию, в отличие от С, где типом по умолчанию является
int. Если в C код
const y = x является синтаксически верным и подразумевает
const int y = x, то в C++ этот же код является уже синтаксически неверным и
не пройдет трансляцию.
GCC в твоем коде отходит от стандарта C++ в пользу поведения как в C.