Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(677)

Unified Diff: gcc/gcc/testsuite/g++.dg/warn/null4.C

Issue 3050029: [gcc] GCC 4.5.0=>4.5.1 (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/nacl-toolchain.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gcc/gcc/testsuite/g++.dg/warn/miss-format-1.C ('k') | gcc/gcc/testsuite/g++.dg/warn/unit-1.C » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gcc/gcc/testsuite/g++.dg/warn/null4.C
diff --git a/gcc/gcc/testsuite/g++.dg/warn/null4.C b/gcc/gcc/testsuite/g++.dg/warn/null4.C
index 785f27904882c5e5e0b954048d7992ca5da562e2..6aa4a097fadefefda64d70f0fc0ed6d60d80891d 100644
--- a/gcc/gcc/testsuite/g++.dg/warn/null4.C
+++ b/gcc/gcc/testsuite/g++.dg/warn/null4.C
@@ -11,9 +11,22 @@ int foo (void)
if (NULL < NULL) return -1; // { dg-warning "NULL used in arithmetic" }
if (NULL >= 0) return -1; // { dg-warning "NULL used in arithmetic" }
if (NULL <= 0) return -1; // { dg-warning "NULL used in arithmetic" }
+ // Adding to the NULL pointer, which has no specific type, should
+ // result in a warning; the type of the resulting expression is
+ // actually "int", not a pointer type.
+ if (NULL + 1) return -1; // { dg-warning "NULL used in arithmetic" }
+ if (1 + NULL) return -1; // { dg-warning "NULL used in arithmetic" }
return 0;
}
+int *ip;
+
+struct S {};
+typedef int S::*SPD;
+typedef void (S::*SPF)(void);
+SPD spd;
+SPF spf;
+
int bar (void)
{
if (NULL) return -1;
@@ -25,5 +38,18 @@ int bar (void)
if (NULL != NULL) return -1;
if (NULL == 0) return -1;
if (NULL != 0) return -1;
+ // Subtraction of pointers is vaild, so using NULL is OK.
+ if (ip - NULL) return -1;
+ if (NULL - NULL) return -1;
+ // Comparing NULL with a pointer-to-member is OK.
+ if (NULL == spd) return -1;
+ if (spd == NULL) return -1;
+ if (NULL != spd) return -1;
+ if (spd != NULL) return -1;
+ if (NULL == spf) return -1;
+ if (spf == NULL) return -1;
+ if (NULL != spf) return -1;
+ if (spf != NULL) return -1;
+
return 0;
}
« no previous file with comments | « gcc/gcc/testsuite/g++.dg/warn/miss-format-1.C ('k') | gcc/gcc/testsuite/g++.dg/warn/unit-1.C » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698