Sent to me in a private email - and not yet checked.
------------------------------------------------------------------

In gcc/fortran/error.c this statement

          case 'u':
            arg[pos].type = TYPE_UINTEGER;

looks like it's missing a 'break'. If a translator provided a format string
translation that contained the substring "%ulu", then an argument of type
TYPE_ULONGINT would be fetched and stored in arg[pos].u.ulongintval, and later,
spec[n++].u.uintval would be used. Which would lead to wrong results on 64-bit
platforms.


-- 
           Summary: gcc/fortran/error.c's error_print - missing "break" ?
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: burnus at gcc dot gnu dot org


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

Reply via email to