[dcl.ref]/p1:
In a declaration T D where D has either of the forms
& attribute-specifier-seq_opt D1 && attribute-specifier-seq_opt D1
and the type of the identifier in the declaration T D1 is “derived-declarator-type-list T,” then the type of the identifier of D is “derived-declarator-type-list reference to T.”
Hence, if the type of the identifier in the declaration T D1 is "reference to T", then the type of the identifier in the declaration T & D1 would be "reference to reference to T". In other words, to attempt to declare a reference to reference, you'd do something like this:
int & & refref = refVal;
However, this code is ill-formed because of [dcl.ref]/p5:
There shall be no references to references, no arrays of references, and no pointers to references.
There's a separate rule in the standard that says that if TREF is a typedef for T&, then when you try to do TREF&, instead of failing because of the rule above, the references would collapse so that TREF& actually means T&. A similar collapsing rule applies to decltype(...). This rule does not apply when you are trying to declare a reference to reference directly.