typedef and non-simple type specifiers

Viewed 562

Why is this code invalid?

typedef int INT;
unsigned INT a=6;

whereas the following code is valid

typedef int INT;
static INT a=1; 

?

As per my understanding unsigned int is not a "simple type specifier" and so the code is ill-formed. I am not sure though.

Can anyone point to the relevant section of the Standard which makes the first code invalid(and the second code valid)?

EDIT

Although Johannes Schaub's answer seemed to be correct and to the point(he had deleted his answer BTW) I accepted James Curran's answer for its correctness and preciseness.

3 Answers
Related