------- Comment #3 from gcc at gaul dot org 2009-02-03 18:57 ------- After talking with Oleg, there are differences between gcc and g++ compiling the code in comment #2:
$ g++ --version g++ (GCC) 4.3.0 Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ g++ -Wconversion and_or_conversion.c -c and_or_conversion.c: In function void func(char, char, char): and_or_conversion.c:3: warning: conversion to char from int may alter its va lue and_or_conversion.c:4: warning: conversion to char from int may alter its va lue and_or_conversion.c:6: warning: conversion to char from int may alter its va lue $ gcc -Wconversion and_or_conversion.c -c and_or_conversion.c: In function func: and_or_conversion.c:6: warning: conversion to char from int may alter its va lue I get the same results with GCC 4.3.2 as packaged by Fedora 10: $ g++ --version g++ (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7) Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39089