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

Julian Andres Klode jak at debian.org
Wed Jun 9 17:46:57 UTC 2010


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/.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-llvm-team/attachments/20100609/4605c368/attachment.pgp>


More information about the Pkg-llvm-team mailing list