static void foo (char *s) { }
void bar (const char *s) { foo ((char *)s); }

gcc 4.2.0 produces this warning with -Wall -O2:
www.c:2: warning: passing argument 1 of `foo' discards qualifiers from pointer
target type.

Due to the cast, the argument already has the right type, so gcc should not
warn.
The warning disappears without -O2.
gcc 4.1.1 did not produce this warning.


-- 
           Summary: Bogus "discards qualifiers" warning
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: terra at gnome dot org
  GCC host triplet: i686-suse-linux


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

Reply via email to