aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/g++.dg/ubsan/null-8.C11
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 87e930a..1c09306 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2017-11-27 Jakub Jelinek <jakub@redhat.com>
+ * g++.dg/ubsan/null-8.C (bar): New function.
+ (foo): Use bar instead of __builtin_printf.
+
PR debug/81307
* g++.dg/debug/debug9.C: Remove -fno-reorder-blocks-and-partition
workaround.
diff --git a/gcc/testsuite/g++.dg/ubsan/null-8.C b/gcc/testsuite/g++.dg/ubsan/null-8.C
index 259a213..cea289e 100644
--- a/gcc/testsuite/g++.dg/ubsan/null-8.C
+++ b/gcc/testsuite/g++.dg/ubsan/null-8.C
@@ -3,13 +3,20 @@
// { dg-options "-fsanitize=null -std=c++14" }
// { dg-output "reference binding to null pointer of type 'const int'" }
+__attribute__((noinline, noclone))
+void
+bar (int x)
+{
+ asm volatile ("" : : "r" (x) : "memory");
+}
+
void
foo (const int &iref)
{
if (&iref)
- __builtin_printf ("iref %d\n", iref);
+ bar (iref);
else
- __builtin_printf ("iref is NULL\n");
+ bar (1);
}
int