From 8cb715989f978104108606d65233838105fd41eb Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Mon, 27 Nov 2017 11:29:03 +0100
Subject: [PATCH] null-8.C (bar): New function.

	* g++.dg/ubsan/null-8.C (bar): New function.
	(foo): Use bar instead of __builtin_printf.

From-SVN: r255162
---
 gcc/testsuite/ChangeLog             |  3 +++
 gcc/testsuite/g++.dg/ubsan/null-8.C | 11 +++++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 87e930a3a0a1..1c0930619f36 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 259a213183a9..cea289ec2613 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
-- 
GitLab