diff options
| author | Josh Triplett <josh@freedesktop.org> | 2007-05-22 16:58:06 -0700 |
|---|---|---|
| committer | Josh Triplett <josh@freedesktop.org> | 2007-05-22 16:59:23 -0700 |
| commit | b376177890bb579d4fd6a532bb95a6ef9a8d0787 (patch) | |
| tree | 5c7f8f5c974717bf380a4695227cca4a35243469 | |
| parent | 12e4c7936209670106213f71ad8d9269c3dbfeb9 (diff) | |
| download | sparse-dev-b376177890bb579d4fd6a532bb95a6ef9a8d0787.tar.gz | |
Add -Wno-non-pointer-null to turn off warning about using a plain integer as a NULL pointer
Signed-off-by: Josh Triplett <josh@freedesktop.org>
| -rwxr-xr-x | cgcc | 2 | ||||
| -rw-r--r-- | evaluate.c | 2 | ||||
| -rw-r--r-- | lib.c | 2 | ||||
| -rw-r--r-- | lib.h | 1 | ||||
| -rw-r--r-- | validation/non-pointer-null.c | 1 |
5 files changed, 6 insertions, 2 deletions
@@ -66,7 +66,7 @@ exit 0; sub check_only_option { my ($arg) = @_; - return 1 if $arg =~ /^-W(no-?)?(default-bitfield-sig|one-bit-signed-bitfield|cast-truncate|bitwise|typesign|context|undefined-preprocessor|ptr-subtraction-blows|cast-to-address-space|decl|transparent-union|address-space|enum-mismatch|do-while|old-initializer)$/; + return 1 if $arg =~ /^-W(no-?)?(default-bitfield-sig|one-bit-signed-bitfield|cast-truncate|bitwise|typesign|context|undefined-preprocessor|ptr-subtraction-blows|cast-to-address-space|decl|transparent-union|address-space|enum-mismatch|do-while|old-initializer|non-pointer-null)$/; return 1 if $arg =~ /^-v(no-?)?(entry|dead)$/; return 0; } @@ -812,7 +812,7 @@ static int is_null_ptr(struct expression *expr) { if (expr->type != EXPR_VALUE || expr->value) return 0; - if (!is_ptr_type(expr->ctype)) + if (Wnon_pointer_null && !is_ptr_type(expr->ctype)) warning(expr->pos, "Using plain integer as NULL pointer"); return 1; } @@ -205,6 +205,7 @@ int Wenum_mismatch = 1; int Wdo_while = 1; int Wuninitialized = 1; int Wold_initializer = 1; +int Wnon_pointer_null = 1; int dbg_entry = 0; int dbg_dead = 0; @@ -354,6 +355,7 @@ static const struct warning { { "do-while", &Wdo_while }, { "uninitialized", &Wuninitialized }, { "old-initializer", &Wold_initializer }, + { "non-pointer-null", &Wnon_pointer_null }, }; enum { @@ -102,6 +102,7 @@ extern int Wcast_truncate; extern int Wdo_while; extern int Wuninitialized; extern int Wold_initializer; +extern int Wnon_pointer_null; extern int dbg_entry; extern int dbg_dead; diff --git a/validation/non-pointer-null.c b/validation/non-pointer-null.c new file mode 100644 index 00000000..de23a1f8 --- /dev/null +++ b/validation/non-pointer-null.c @@ -0,0 +1 @@ +void *p = 0; |
