------- Comment #1 from burnus at gcc dot gnu dot org  2010-08-18 19:40 -------
That's the lines:
  1472    char cup;
  1467    size_t dim_i;
  1504                cup = toupper (base_name[dim_i]);
  1511            cup = toupper (obj->var_name[dim_i]);
and
  1743    char c;
  1741    index_type i;
  1760        c = toupper (dtp->namelist_name[i]);

(with: typedef ssize_t index_type;)

According to POSIX, toupper is defined as:
       int toupper(int c);

I am not sure I understand the message itself:
  "array subscript has type 'char'"
because in those lines I do not see how the array subscript can be 'char'. It
might be due to the way Tru64 Unix implements "toupper".

Does it help to cast the argument to (int)? I mean:
-                cup = toupper (base_name[dim_i]);
+                cup = toupper ((int) base_name[dim_i]);
for all three toupper?

(Note: The trunk has the same toupper calls.)


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jvdelisle at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45323

Reply via email to