This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[committed] Add two new -Wnonnull tests


Hi!

I've committed following patch as obvious to add two tests that were
discussed in the recent thread.

2016-12-22  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/78858
	* c-c++-common/ubsan/pr78858.c: New test.
	* gcc.dg/nonnull-5.c: New test.

--- gcc/testsuite/c-c++-common/ubsan/pr78858.c.jj	2016-12-22 12:43:45.347067480 +0100
+++ gcc/testsuite/c-c++-common/ubsan/pr78858.c	2016-12-22 12:43:34.000000000 +0100
@@ -0,0 +1,10 @@
+/* PR middle-end/78858 */
+/* { dg-do compile } */
+/* { dg-options "-fsanitize=undefined -Wnonnull" } */
+
+void
+foo (char **x, const char *y)
+{
+  *x = (char *) __builtin_malloc (__builtin_strlen (y) + 1);	/* { dg-bogus "argument 1 null where non-null expected" } */
+  __builtin_strcpy (*x, y);
+}
--- gcc/testsuite/gcc.dg/nonnull-5.c.jj	2016-12-22 12:34:34.875208653 +0100
+++ gcc/testsuite/gcc.dg/nonnull-5.c	2016-12-22 12:34:27.924298825 +0100
@@ -0,0 +1,11 @@
+/* Reduced from https://sourceware.org/bugzilla/show_bug.cgi?id=20978 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -Wnonnull" } */
+
+int
+foo (const char *name)
+{
+  if (name)
+    return 6;
+  return __builtin_strlen (name);	/* { dg-warning "argument 1 null where non-null expected" } */
+}

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]