public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Questionable code in gcov-io.c
@ 2016-10-12 12:10 Marek Polacek
  2016-10-12 12:15 ` Nathan Sidwell
  2016-10-12 12:23 ` Bernd Schmidt
  0 siblings, 2 replies; 13+ messages in thread
From: Marek Polacek @ 2016-10-12 12:10 UTC (permalink / raw)
  To: GCC Patches; +Cc: Jakub Jelinek

While implementing a warning I noticed this in gcov-io.c:

 187   else if (mode == 0)
 188     {
 189       struct stat st;
 190 
 191       if (fstat (fd, &st) < 0)
 192         {
 193           fclose (gcov_var.file);
 194           gcov_var.file = 0;
 195           return 0;
 196         }
 197       if (st.st_size != 0)
 198         gcov_var.mode = 1;
 199       else
 200         gcov_var.mode = mode * 2 + 1;
 201     }
 202   else
 203     gcov_var.mode = mode * 2 + 1;

It seems that lines 198 and 200 do the same thing, at line 200 we know that
mode == 0, so we just assign 1.  Should we just remove the condition on line 197?

This has been introduced in Jakub's r78281.

	Marek

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Questionable code in gcov-io.c
  2016-10-12 12:10 Questionable code in gcov-io.c Marek Polacek
@ 2016-10-12 12:15 ` Nathan Sidwell
  2016-10-12 13:43   ` Marek Polacek
  2016-10-12 12:23 ` Bernd Schmidt
  1 sibling, 1 reply; 13+ messages in thread
From: Nathan Sidwell @ 2016-10-12 12:15 UTC (permalink / raw)
  To: Marek Polacek, GCC Patches; +Cc: Jakub Jelinek

On 10/12/16 08:10, Marek Polacek wrote:
> While implementing a warning I noticed this in gcov-io.c:
>
>  187   else if (mode == 0)
>  188     {
>  189       struct stat st;
>  190
>  191       if (fstat (fd, &st) < 0)
>  192         {
>  193           fclose (gcov_var.file);
>  194           gcov_var.file = 0;
>  195           return 0;
>  196         }
>  197       if (st.st_size != 0)
>  198         gcov_var.mode = 1;
>  199       else
>  200         gcov_var.mode = mode * 2 + 1;
>  201     }
>  202   else
>  203     gcov_var.mode = mode * 2 + 1;
>
> It seems that lines 198 and 200 do the same thing, at line 200 we know that
> mode == 0, so we just assign 1.  Should we just remove the condition on line 197?

ITYM lines 197 -> 203.  I.e. remove the entire if that;s inside the 'mode == 0' 
branch and make line 203 unconditional.

nathan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Questionable code in gcov-io.c
  2016-10-12 12:10 Questionable code in gcov-io.c Marek Polacek
  2016-10-12 12:15 ` Nathan Sidwell
@ 2016-10-12 12:23 ` Bernd Schmidt
  2016-10-12 12:54   ` Jakub Jelinek
  1 sibling, 1 reply; 13+ messages in thread
From: Bernd Schmidt @ 2016-10-12 12:23 UTC (permalink / raw)
  To: Marek Polacek, GCC Patches; +Cc: Jakub Jelinek

On 10/12/2016 02:10 PM, Marek Polacek wrote:
> While implementing a warning I noticed this in gcov-io.c:
>
>  187   else if (mode == 0)
>  188     {
>  189       struct stat st;
>  190
>  191       if (fstat (fd, &st) < 0)
>  192         {
>  193           fclose (gcov_var.file);
>  194           gcov_var.file = 0;
>  195           return 0;
>  196         }
>  197       if (st.st_size != 0)
>  198         gcov_var.mode = 1;
>  199       else
>  200         gcov_var.mode = mode * 2 + 1;
>  201     }
>  202   else
>  203     gcov_var.mode = mode * 2 + 1;
>
> It seems that lines 198 and 200 do the same thing, at line 200 we know that
> mode == 0, so we just assign 1.  Should we just remove the condition on line 197?

The intention seems to be that a negative gcov_var.mode means we're 
writing, so for a size zero file maybe that's the expected result. But 
of course none of the existing code is going to expect that.

There are more oddities here...

Before the quoted piece of code, we test for mode > 0, so in line 203 we 
know that mode is < 0. I don't really see what the "mode * 2 + 1" 
expression is supposed to do anyway, given that the caller could pass in 
any positive/negative number and expect the same results as for 1 and 
-1. I think line 203 should just use -1. There's one further occurrence 
of that expression which should probably be modified.

The function comment also seems to have an issue:

/* Open a gcov file. NAME is the name of the file to open and MODE
    indicates whether a new file should be created, or an existing file
    opened. If MODE is >= 0 an existing file will be opened, if
    possible, and if MODE is <= 0, a new file will be created. Use
    MODE=0 to attempt to reopen an existing file and then fall back on
    creating a new one.  If MODE < 0, the file will be opened in
    read-only mode.  Otherwise it will be opened for modification.
    Return zero on failure, >0 on opening an existing file and <0 on
    creating a new one.  */

This suggests that with MODE < 0, we'll create a file in read-only mode, 
which is nonsensical. The code suggests that the comment should read " > 0".


Bernd

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Questionable code in gcov-io.c
  2016-10-12 12:23 ` Bernd Schmidt
@ 2016-10-12 12:54   ` Jakub Jelinek
  0 siblings, 0 replies; 13+ messages in thread
From: Jakub Jelinek @ 2016-10-12 12:54 UTC (permalink / raw)
  To: Bernd Schmidt; +Cc: Marek Polacek, GCC Patches

On Wed, Oct 12, 2016 at 02:23:36PM +0200, Bernd Schmidt wrote:
> >It seems that lines 198 and 200 do the same thing, at line 200 we know that
> >mode == 0, so we just assign 1.  Should we just remove the condition on line 197?
> 
> The intention seems to be that a negative gcov_var.mode means we're writing,
> so for a size zero file maybe that's the expected result. But of course none
> of the existing code is going to expect that.
> 
> There are more oddities here...

Unfortunately I really don't remember, and it seems we don't have the
posting in gcc-patches archive at all.
Found it in http://marc.info/?l=gcc-patches&m=107747608611324 though.

	Jakub

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Questionable code in gcov-io.c
  2016-10-12 12:15 ` Nathan Sidwell
@ 2016-10-12 13:43   ` Marek Polacek
  2016-10-12 13:45     ` Nathan Sidwell
  2016-10-12 14:47     ` Nathan Sidwell
  0 siblings, 2 replies; 13+ messages in thread
From: Marek Polacek @ 2016-10-12 13:43 UTC (permalink / raw)
  To: Nathan Sidwell; +Cc: GCC Patches, Jakub Jelinek

On Wed, Oct 12, 2016 at 08:14:58AM -0400, Nathan Sidwell wrote:
> On 10/12/16 08:10, Marek Polacek wrote:
> > While implementing a warning I noticed this in gcov-io.c:
> > 
> >  187   else if (mode == 0)
> >  188     {
> >  189       struct stat st;
> >  190
> >  191       if (fstat (fd, &st) < 0)
> >  192         {
> >  193           fclose (gcov_var.file);
> >  194           gcov_var.file = 0;
> >  195           return 0;
> >  196         }
> >  197       if (st.st_size != 0)
> >  198         gcov_var.mode = 1;
> >  199       else
> >  200         gcov_var.mode = mode * 2 + 1;
> >  201     }
> >  202   else
> >  203     gcov_var.mode = mode * 2 + 1;
> > 
> > It seems that lines 198 and 200 do the same thing, at line 200 we know that
> > mode == 0, so we just assign 1.  Should we just remove the condition on line 197?
> 
> ITYM lines 197 -> 203.  I.e. remove the entire if that;s inside the 'mode ==
> 0' branch and make line 203 unconditional.

Yes, sorry for sloppy wording.  I'm testing a patch.

Thanks,

	Marek

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Questionable code in gcov-io.c
  2016-10-12 13:43   ` Marek Polacek
@ 2016-10-12 13:45     ` Nathan Sidwell
  2016-10-12 14:47     ` Nathan Sidwell
  1 sibling, 0 replies; 13+ messages in thread
From: Nathan Sidwell @ 2016-10-12 13:45 UTC (permalink / raw)
  To: Marek Polacek; +Cc: GCC Patches, Jakub Jelinek

On 10/12/16 09:43, Marek Polacek wrote:

>> ITYM lines 197 -> 203.  I.e. remove the entire if that;s inside the 'mode ==
>> 0' branch and make line 203 unconditional.
>
> Yes, sorry for sloppy wording.  I'm testing a patch.

heh, so am I :)

nathan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Questionable code in gcov-io.c
  2016-10-12 13:43   ` Marek Polacek
  2016-10-12 13:45     ` Nathan Sidwell
@ 2016-10-12 14:47     ` Nathan Sidwell
  2016-10-12 14:50       ` Marek Polacek
  2016-10-12 15:05       ` Andreas Schwab
  1 sibling, 2 replies; 13+ messages in thread
From: Nathan Sidwell @ 2016-10-12 14:47 UTC (permalink / raw)
  To: Marek Polacek; +Cc: GCC Patches, Jakub Jelinek

[-- Attachment #1: Type: text/plain, Size: 366 bytes --]

On 10/12/16 09:43, Marek Polacek wrote:

>> ITYM lines 197 -> 203.  I.e. remove the entire if that;s inside the 'mode ==
>> 0' branch and make line 203 unconditional.
>
> Yes, sorry for sloppy wording.  I'm testing a patch.

Here's the patch I've tested (but not bootstrapped).  As the incoming mode is 
-1, 0 or +1 we can make things considerably simpler.

nathan


[-- Attachment #2: gcov.patch --]
[-- Type: text/x-patch, Size: 2435 bytes --]

2016-10-12  Nathan Sidwell  <nathan@acm.org>

	* gcov-io.c (gcov_open): Fix documentation.  Simplify setting
	gcov_var.mode.

Index: gcov-io.c
===================================================================
--- gcov-io.c	(revision 241027)
+++ gcov-io.c	(working copy)
@@ -115,10 +115,9 @@ static inline gcov_unsigned_t from_file
    opened. If MODE is >= 0 an existing file will be opened, if
    possible, and if MODE is <= 0, a new file will be created. Use
    MODE=0 to attempt to reopen an existing file and then fall back on
-   creating a new one.  If MODE < 0, the file will be opened in
+   creating a new one.  If MODE > 0, the file will be opened in
    read-only mode.  Otherwise it will be opened for modification.
-   Return zero on failure, >0 on opening an existing file and <0 on
-   creating a new one.  */
+   Return zero on failure, non-zero on success.  */
 
 GCOV_LINKAGE int
 #if IN_LIBGCOV
@@ -156,17 +155,12 @@ gcov_open (const char *name, int mode)
       /* pass mode (ignored) for compatibility */
       fd = open (name, O_RDONLY, S_IRUSR | S_IWUSR);
     }
-  else if (mode < 0)
+  else
      {
        /* Write mode - acquire a write-lock.  */
        s_flock.l_type = F_WRLCK;
-      fd = open (name, O_RDWR | O_CREAT | O_TRUNC, 0666);
-    }
-  else /* mode == 0 */
-    {
-      /* Read-Write mode - acquire a write-lock.  */
-      s_flock.l_type = F_WRLCK;
-      fd = open (name, O_RDWR | O_CREAT, 0666);
+       /* Truncate if force new mode.  */
+       fd = open (name, O_RDWR | O_CREAT | (mode < 0 ? O_TRUNC : 0), 0666);
     }
   if (fd < 0)
     return 0;
@@ -182,9 +176,7 @@ gcov_open (const char *name, int mode)
       return 0;
     }
 
-  if (mode > 0)
-    gcov_var.mode = 1;
-  else if (mode == 0)
+  if (mode == 0)
     {
       struct stat st;
 
@@ -194,21 +186,20 @@ gcov_open (const char *name, int mode)
 	  gcov_var.file = 0;
 	  return 0;
 	}
-      if (st.st_size != 0)
-	gcov_var.mode = 1;
-      else
-	gcov_var.mode = mode * 2 + 1;
+      gcov_var.mode = 1;
     }
   else
-    gcov_var.mode = mode * 2 + 1;
+    gcov_var.mode = mode;
 #else
   if (mode >= 0)
+    /* Open an existing file.  */
     gcov_var.file = fopen (name, (mode > 0) ? "rb" : "r+b");
 
   if (gcov_var.file)
     gcov_var.mode = 1;
   else if (mode <= 0)
     {
+      /* Create a new file.  */
       gcov_var.file = fopen (name, "w+b");
       if (gcov_var.file)
 	gcov_var.mode = mode * 2 + 1;

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Questionable code in gcov-io.c
  2016-10-12 14:47     ` Nathan Sidwell
@ 2016-10-12 14:50       ` Marek Polacek
  2016-10-12 15:05       ` Andreas Schwab
  1 sibling, 0 replies; 13+ messages in thread
From: Marek Polacek @ 2016-10-12 14:50 UTC (permalink / raw)
  To: Nathan Sidwell; +Cc: GCC Patches, Jakub Jelinek

On Wed, Oct 12, 2016 at 10:47:07AM -0400, Nathan Sidwell wrote:
> On 10/12/16 09:43, Marek Polacek wrote:
> 
> > > ITYM lines 197 -> 203.  I.e. remove the entire if that;s inside the 'mode ==
> > > 0' branch and make line 203 unconditional.
> > 
> > Yes, sorry for sloppy wording.  I'm testing a patch.
> 
> Here's the patch I've tested (but not bootstrapped).  As the incoming mode
> is -1, 0 or +1 we can make things considerably simpler.

Great, thanks.

	Marek

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Questionable code in gcov-io.c
  2016-10-12 14:47     ` Nathan Sidwell
  2016-10-12 14:50       ` Marek Polacek
@ 2016-10-12 15:05       ` Andreas Schwab
  2016-10-12 15:12         ` Nathan Sidwell
  2016-10-12 18:25         ` Nathan Sidwell
  1 sibling, 2 replies; 13+ messages in thread
From: Andreas Schwab @ 2016-10-12 15:05 UTC (permalink / raw)
  To: Nathan Sidwell; +Cc: Marek Polacek, GCC Patches, Jakub Jelinek

On Okt 12 2016, Nathan Sidwell <nathan@acm.org> wrote:

> @@ -182,9 +176,7 @@ gcov_open (const char *name, int mode)
>        return 0;
>      }
>  
> -  if (mode > 0)
> -    gcov_var.mode = 1;
> -  else if (mode == 0)
> +  if (mode == 0)
>      {
>        struct stat st;
>  
> @@ -194,21 +186,20 @@ gcov_open (const char *name, int mode)
>  	  gcov_var.file = 0;
>  	  return 0;
>  	}
> -      if (st.st_size != 0)
> -	gcov_var.mode = 1;
> -      else
> -	gcov_var.mode = mode * 2 + 1;
> +      gcov_var.mode = 1;

Do we still need to call fstat?  I don't think it can ever fail here.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Questionable code in gcov-io.c
  2016-10-12 15:05       ` Andreas Schwab
@ 2016-10-12 15:12         ` Nathan Sidwell
  2016-10-12 18:25         ` Nathan Sidwell
  1 sibling, 0 replies; 13+ messages in thread
From: Nathan Sidwell @ 2016-10-12 15:12 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Marek Polacek, GCC Patches, Jakub Jelinek

On 10/12/16 11:04, Andreas Schwab wrote:

> Do we still need to call fstat?  I don't think it can ever fail here.

You appear to be correct.

nathan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Questionable code in gcov-io.c
  2016-10-12 15:05       ` Andreas Schwab
  2016-10-12 15:12         ` Nathan Sidwell
@ 2016-10-12 18:25         ` Nathan Sidwell
  2016-10-13 22:10           ` Andrew Pinski
  1 sibling, 1 reply; 13+ messages in thread
From: Nathan Sidwell @ 2016-10-12 18:25 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Marek Polacek, GCC Patches, Jakub Jelinek

[-- Attachment #1: Type: text/plain, Size: 272 bytes --]

On 10/12/16 11:04, Andreas Schwab wrote:

> Do we still need to call fstat?  I don't think it can ever fail here.

Update removing the fstat.  Survived a profiled bootstrap, so I'll commit 
tomorrow, unless there are further comments.  Thanks for spotting this!

nathan



[-- Attachment #2: gcov.patch --]
[-- Type: text/x-patch, Size: 2618 bytes --]

2016-10-12  Nathan Sidwell  <nathan@acm.org>

	* gcov-io.c (gcov_open): Fix documentation.  Simplify setting
	gcov_var.mode.  Remove unnecessary fstat.

Index: gcov-io.c
===================================================================
--- gcov-io.c	(revision 241027)
+++ gcov-io.c	(working copy)
@@ -115,10 +115,9 @@ static inline gcov_unsigned_t from_file
    opened. If MODE is >= 0 an existing file will be opened, if
    possible, and if MODE is <= 0, a new file will be created. Use
    MODE=0 to attempt to reopen an existing file and then fall back on
-   creating a new one.  If MODE < 0, the file will be opened in
+   creating a new one.  If MODE > 0, the file will be opened in
    read-only mode.  Otherwise it will be opened for modification.
-   Return zero on failure, >0 on opening an existing file and <0 on
-   creating a new one.  */
+   Return zero on failure, non-zero on success.  */
 
 GCOV_LINKAGE int
 #if IN_LIBGCOV
@@ -156,17 +155,12 @@ gcov_open (const char *name, int mode)
       /* pass mode (ignored) for compatibility */
       fd = open (name, O_RDONLY, S_IRUSR | S_IWUSR);
     }
-  else if (mode < 0)
+  else
      {
        /* Write mode - acquire a write-lock.  */
        s_flock.l_type = F_WRLCK;
-      fd = open (name, O_RDWR | O_CREAT | O_TRUNC, 0666);
-    }
-  else /* mode == 0 */
-    {
-      /* Read-Write mode - acquire a write-lock.  */
-      s_flock.l_type = F_WRLCK;
-      fd = open (name, O_RDWR | O_CREAT, 0666);
+       /* Truncate if force new mode.  */
+       fd = open (name, O_RDWR | O_CREAT | (mode < 0 ? O_TRUNC : 0), 0666);
     }
   if (fd < 0)
     return 0;
@@ -181,42 +175,23 @@ gcov_open (const char *name, int mode)
       close (fd);
       return 0;
     }
-
-  if (mode > 0)
-    gcov_var.mode = 1;
-  else if (mode == 0)
-    {
-      struct stat st;
-
-      if (fstat (fd, &st) < 0)
-	{
-	  fclose (gcov_var.file);
-	  gcov_var.file = 0;
-	  return 0;
-	}
-      if (st.st_size != 0)
-	gcov_var.mode = 1;
-      else
-	gcov_var.mode = mode * 2 + 1;
-    }
-  else
-    gcov_var.mode = mode * 2 + 1;
 #else
   if (mode >= 0)
+    /* Open an existing file.  */
     gcov_var.file = fopen (name, (mode > 0) ? "rb" : "r+b");
 
   if (gcov_var.file)
-    gcov_var.mode = 1;
+    mode = 1;
   else if (mode <= 0)
-    {
-      gcov_var.file = fopen (name, "w+b");
-      if (gcov_var.file)
-	gcov_var.mode = mode * 2 + 1;
-    }
+    /* Create a new file.  */
+    gcov_var.file = fopen (name, "w+b");
+
   if (!gcov_var.file)
     return 0;
 #endif
 
+  gcov_var.mode = mode ? mode : 1;
+
   setbuf (gcov_var.file, (char *)0);
 
   return 1;

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Questionable code in gcov-io.c
  2016-10-12 18:25         ` Nathan Sidwell
@ 2016-10-13 22:10           ` Andrew Pinski
  2016-10-14 10:53             ` Nathan Sidwell
  0 siblings, 1 reply; 13+ messages in thread
From: Andrew Pinski @ 2016-10-13 22:10 UTC (permalink / raw)
  To: Nathan Sidwell; +Cc: Andreas Schwab, Marek Polacek, GCC Patches, Jakub Jelinek

On Wed, Oct 12, 2016 at 11:24 AM, Nathan Sidwell <nathan@acm.org> wrote:
> On 10/12/16 11:04, Andreas Schwab wrote:
>
>> Do we still need to call fstat?  I don't think it can ever fail here.
>
>
> Update removing the fstat.  Survived a profiled bootstrap, so I'll commit
> tomorrow, unless there are further comments.  Thanks for spotting this!


This breaks the build for aarch64-elf:

In file included from
/home/jenkins/workspace/BuildToolchainAARCH64_thunder_elf_upstream/toolchain/scripts/../src/libgcc/libgcov-driver.c:53:0:
/home/jenkins/workspace/BuildToolchainAARCH64_thunder_elf_upstream/toolchain/scripts/../src/libgcc/../gcc/gcov-io.c:
In function ‘__gcov_open’:
/home/jenkins/workspace/BuildToolchainAARCH64_thunder_elf_upstream/toolchain/scripts/../src/libgcc/../gcc/gcov-io.c:184:10:
error: assignment of read-only variable ‘mode’
     mode = 1;
          ^

Thanks,
Andrew


>
> nathan
>
>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Questionable code in gcov-io.c
  2016-10-13 22:10           ` Andrew Pinski
@ 2016-10-14 10:53             ` Nathan Sidwell
  0 siblings, 0 replies; 13+ messages in thread
From: Nathan Sidwell @ 2016-10-14 10:53 UTC (permalink / raw)
  To: Andrew Pinski; +Cc: Andreas Schwab, Marek Polacek, GCC Patches, Jakub Jelinek

[-- Attachment #1: Type: text/plain, Size: 590 bytes --]

On 10/13/16 18:10, Andrew Pinski wrote:

> /home/jenkins/workspace/BuildToolchainAARCH64_thunder_elf_upstream/toolchain/scripts/../src/libgcc/libgcov-driver.c:53:0:
> /home/jenkins/workspace/BuildToolchainAARCH64_thunder_elf_upstream/toolchain/scripts/../src/libgcc/../gcc/gcov-io.c:
> In function ‘__gcov_open’:
> /home/jenkins/workspace/BuildToolchainAARCH64_thunder_elf_upstream/toolchain/scripts/../src/libgcc/../gcc/gcov-io.c:184:10:
> error: assignment of read-only variable ‘mode’
>      mode = 1;

Darn, even when I'm paranoid I still mess up :(

fixed.

nathan

[-- Attachment #2: gcov-fix.patch --]
[-- Type: text/x-patch, Size: 414 bytes --]

2016-10-14  Nathan Sidwell  <nathan@acm.org>

	* gcov-io.c (gcov_open): Deconstify 'mode'.

Index: gcov-io.c
===================================================================
--- gcov-io.c	(revision 241153)
+++ gcov-io.c	(working copy)
@@ -127,7 +127,7 @@ gcov_open (const char *name, int mode)
 #endif
 {
 #if IN_LIBGCOV
-  const int mode = 0;
+  int mode = 0;
 #endif
 #if GCOV_LOCKED
   struct flock s_flock;

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2016-10-14 10:53 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-12 12:10 Questionable code in gcov-io.c Marek Polacek
2016-10-12 12:15 ` Nathan Sidwell
2016-10-12 13:43   ` Marek Polacek
2016-10-12 13:45     ` Nathan Sidwell
2016-10-12 14:47     ` Nathan Sidwell
2016-10-12 14:50       ` Marek Polacek
2016-10-12 15:05       ` Andreas Schwab
2016-10-12 15:12         ` Nathan Sidwell
2016-10-12 18:25         ` Nathan Sidwell
2016-10-13 22:10           ` Andrew Pinski
2016-10-14 10:53             ` Nathan Sidwell
2016-10-12 12:23 ` Bernd Schmidt
2016-10-12 12:54   ` Jakub Jelinek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).