diff gcc/testsuite/g++.dg/warn/Wstringop-overflow-1.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/g++.dg/warn/Wstringop-overflow-1.C	Thu Oct 25 07:37:49 2018 +0900
@@ -0,0 +1,15 @@
+// { dg-do compile }
+// { dg-additional-options "-O2 -Wstringop-overflow=2" }
+
+struct S {
+    char a[5];
+    void (*pf)(void);
+};
+
+void f (struct S *s, int n)
+{
+  if (n < sizeof s->a + 1)
+    n = sizeof s->a + 1;
+
+  __builtin_strncpy (s->a, "123456", n);   // { dg-warning "writing 6" }
+}