[cfe-dev] Clang warning for invalid casting!

Roman Lebedev via cfe-dev cfe-dev at lists.llvm.org
Thu Jul 27 03:44:04 PDT 2017


On Thu, Jul 27, 2017 at 1:42 PM, Roman Lebedev <lebedev.ri at gmail.com> wrote:
> On Thu, Jul 27, 2017 at 1:03 PM, Raphael Isemann via cfe-dev
> <cfe-dev at lists.llvm.org> wrote:
>> Clang 3.8 gives an error as expected, so the problem is probably in
>> your setup. See https://godbolt.org/g/Uf6XyX
> To add to that, it only warns if -m64 is specified, and does not warn
> if -m32 is specified. Similarly, here on 64-bit machine, it does not warn.
Edit: also, the original author asked about C, and not C++.
And if -x c is specified, there is no warning no matter the -m32/-m64

>> - Raphael
> Roman.

>> 2017-07-27 4:05 GMT+02:00 David John via cfe-dev <cfe-dev at lists.llvm.org>:
>>> I am trying to compile a simple code (see below) with gcc and clang. the gcc
>>> generates a warning indicating an incomparable casting (great!). However,
>>> clang didn't generate any warnings! I have passed the same arguments for
>>> both:
>>>
>>> cc -Wall -Wextra tmp3.c
>>> gcc -Wall -Wextra tmp3.c
>>>
>>> Should I expect clang to generate error or not? If yes, is there an
>>> additional option needs to be passed to clang compiler to generate a warning
>>> for something that is obviously wrong?
>>>
>>> Code:
>>>
>>> int main(void)
>>> {
>>>    void *b = (void *)0x12345678;
>>>    int   a = (int)(unsigned long)b;
>>>    int   c = (int)b;
>>>    return a + c;
>>> }
>>>
>>>
>>> Clang version 3.8
>>>
>>>
>>>
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev



More information about the cfe-dev mailing list