Bug#585168: clang: No warning if NULL is assigned to int, unless NULL is defined in same file.

Arthur Loiret aloiret at debian.org
Wed Aug 25 13:09:16 UTC 2010


Hi!

Thanks for your bug report. Would you mind re-check with clang from
testing or unstable? (Version 2.7-2 or later).

Thanks!
Arthur.

2010/6/9, Julian Andres Klode <jak at debian.org>:
> Package: clang
> Version: 2.6-3
> Severity: normal
>
> Clangs behaviour differs depending on where NULL is
> defined. If NULL is defined locally, a warning is
> issued if NULL is assigned to an int variable. If
> the (same) definition of NULL is included via a
> header file, no warning is issued.
>
> 1. Definition of NULL in clang's stddef.h
> ==========================================
> #ifdef __cplusplus
> #define NULL __null
> #else
> #define NULL ((void*)0)
> #endif
>
> 2. Code causing a warning
> =========================
> #define NULL ((void*)0)
>
> int main(void) {
>    int i = NULL;
>    return 0;
> }
>
> 2.1. Output compiling example 2
> -------------------------------
> a.c:4:12: warning: incompatible pointer to integer conversion initializing
> 'void *', expected 'int'
>    int i = NULL;
>            ^~~~
> a.c:1:14: note: instantiated from:
> #define NULL ((void*)0)
>              ^~~~~~~~~~
> 1 diagnostic generated.
>
>
> 3. Code without warning
> ========================
> #include <stdlib.h>
>
> int main(void) {
>    int i = NULL;
>    return 0;
> }
>
> 3.1 Output compiling example 3
> ------------------------------
>
> (Well, there is no output at all)
>
> -- System Information:
> Debian Release: lenny/sid
>   APT prefers unstable
>   APT policy: (990, 'unstable'), (350, 'experimental')
> Architecture: amd64 (x86_64)
>
> Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
> Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
>
> Versions of packages clang depends on:
> ii  libc6                         2.11.1-2   Embedded GNU C Library: Shared
> lib
> ii  libffi5                       3.0.9-2    Foreign Function Interface
> library
> ii  libgcc1                       1:4.4.4-4  GCC support library
> ii  libstdc++6                    4.4.4-4    The GNU Standard C++ Library v3
>
> Versions of packages clang recommends:
> ii  llvm-dev                      2.6-9      Low-Level Virtual Machine
> (LLVM),
>
> clang suggests no packages.
>
> -- no debconf information
>
> --
> Julian Andres Klode  - Debian Developer, Ubuntu Member
>
> See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.
>





More information about the Pkg-llvm-team mailing list