------- 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