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]

Re: [PATCH] Fix PR64764


On 09-02-15 09:59, Richard Biener wrote:
On Thu, 5 Feb 2015, Tom de Vries wrote:

On 26-01-15 15:47, Richard Biener wrote:
Index: gcc/testsuite/gcc.dg/uninit-19.c
===================================================================
--- gcc/testsuite/gcc.dg/uninit-19.c	(revision 0)
+++ gcc/testsuite/gcc.dg/uninit-19.c	(working copy)
@@ -0,0 +1,23 @@
+/* { dg-do compile } */
+/* { dg-options "-O -Wuninitialized" } */
+
+int a, l, m;
+float *b;
+float c, d, e, g, h;
+unsigned char i, k;
+void
+fn1 (int p1, float *f1, float *f2, float *f3, unsigned char *c1, float *f4,
+     unsigned char *c2, float *p10)
+{
+  if (p1 & 8)
+    b[3] = p10[a];  /* { dg-warning "may be used uninitialized" } */
+}
+
+void
+fn2 ()
+{
+  float *n;
+  if (l & 6)
+    n = &c + m;
+  fn1 (l, &d, &e, &g, &i, &h, &k, n);
+}

Hi Richard,

this new test fails with -fpic, because fn1 is not inlined.

Adding static to fn1 allows it to pass both with and without -fpic. But that
change might affect whether it still serves as a regression test for this PR,
I'm not sure.

Another way to fix this could be to use the warning line number 22 instead 13
for fpic.

Either way is fine with me.


Committed using the method of different line number for -fpic.

Thanks,
- Tom

2015-02-09  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/uninit-19.c: Fix warning line for fpic.
---
 gcc/testsuite/gcc.dg/uninit-19.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/uninit-19.c b/gcc/testsuite/gcc.dg/uninit-19.c
index 3113cab..fc7acea 100644
--- a/gcc/testsuite/gcc.dg/uninit-19.c
+++ b/gcc/testsuite/gcc.dg/uninit-19.c
@@ -10,7 +10,7 @@ fn1 (int p1, float *f1, float *f2, float *f3, unsigned char *c1, float *f4,
      unsigned char *c2, float *p10)
 {
   if (p1 & 8)
-    b[3] = p10[a];  /* { dg-warning "may be used uninitialized" } */
+    b[3] = p10[a];  /* 13.  */
 }

 void
@@ -19,5 +19,8 @@ fn2 ()
   float *n;
   if (l & 6)
     n = &c + m;
-  fn1 (l, &d, &e, &g, &i, &h, &k, n);
+  fn1 (l, &d, &e, &g, &i, &h, &k, n);  /* 22.  */
 }
+
+/* { dg-warning "may be used uninitialized" "" { target nonpic } 13 } */
+/* { dg-warning "may be used uninitialized" "" { target { ! nonpic } } 22 } */
--
1.9.1


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