When defining a variable in the following manner:
static register int a1 = 0;
we get the error:
error: multiple storage cla
If a compiler implemented what you wanted faithfully then it would tie up a CPU register for the length of your program. That's hardly practical.
Remember that register is only advisory.
register