[gnu.gcc.bug] gcc 1.32 give potentially spurious warning?

schmidt@POMPE.ICS.UCI.EDU ("Douglas C. Schmidt") (01/15/89)

Bug Report for GCC:
-------------------
Problem : In the short program below, gcc 1.32 complains about requesting
          an address for register int array ``foo'' when the *(x) notation 
          is used, but not when the equivalent x[] notation is used.
          Sun CC doesn't complain in either case. 

1.) Version : gcc 1.32
-----------

2.) Input Program :
-----------------

main ( ) {
   register int foo[10];

   *(foo + 2) = 10; /* a warning is given here, but why? */
   foo[2]     = 10; /* same thing, but no warning */
}

3.) Command Used : gcc 
----------------

4.) Files used :
--------------
		tm.h          -> tm-sparc.h
		md            -> sparc.md
      config.h      -> xm-sunos4.h
      aux-output.c  -> output-sparc.c
      
5.) Machine(s) used :
-------------------
   Sun 4 running Sun4.0

6.) Compiler diagnostics :
------------------------

gcc version 1.32
 /usr/public/lib/gcc/gcc-cpp -v -I/cd/ua/schmidt/include/ -undef
-D__GNUC__ -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__
test.c /tmp/cca03510.cpp
GNU CPP version 1.32
 /usr/public/lib/gcc/gcc-cc1 /tmp/cca03510.cpp -quiet -dumpbase test.c
-fstrength-reduce -finline-functions -version -o /tmp/cca03510.s
GNU C version 1.32 (sparc) compiled by GNU C version 1.32.
test.c: In function main:

test.c:4: warning: address requested for `foo', which is declared `register'