[Bug c/82063] issues with arguments enabled by -Wall

2018-05-13 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82063

Martin Sebor  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |msebor at gcc dot 
gnu.org

--- Comment #6 from Martin Sebor  ---
See also: https://gcc.gnu.org/ml/gcc-help/2018-05/msg00088.html

Let me look into this.

[Bug libstdc++/85768] [9 Regression] FreeBSD bootstrap fails due to undefined reference to 'backtrace'

2018-05-13 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85768

kargl at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
 CC||kargl at gcc dot gnu.org
   Severity|normal  |blocker

[Bug libstdc++/85768] [9 Regression] FreeBSD bootstrap fails due to undefined reference to 'backtrace'

2018-05-13 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85768

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||build
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-05-13
 CC||fdumont at gcc dot gnu.org
Summary|FreeBSD bootstrap fails due |[9 Regression] FreeBSD
   |to undefined reference to   |bootstrap fails due to
   |'backtrace' |undefined reference to
   ||'backtrace'
 Ever confirmed|0   |1

[Bug libstdc++/85768] New: FreeBSD bootstrap fails due to undefined reference to 'backtrace'

2018-05-13 Thread andreast at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85768

Bug ID: 85768
   Summary: FreeBSD bootstrap fails due to undefined reference to
'backtrace'
   Product: gcc
   Version: 9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: andreast at gcc dot gnu.org
  Target Milestone: ---

A recent commit (260054) broke bootstrap on FreeBSD. The reason is an undefined
reference to 'backtrace'. This function is available on FreeBSD too but not in
libc. It is available in libexecinfo. A quick hack to linkage.m4 to add this
library if found showed a 37 failure count instead of 7k+ without.

I do not know the right to link an additional library for debug purposes.

Also, this might be applicable to NetBSD too, don't have it here but the man
page of backtrace notes that the function appeared in NetBSD 7.0 and FreeBSD
10.

[Bug tree-optimization/85767] New: wrong code at -O2 and -O3 on x86_64-linux-gnu in 64-bit mode (not in 32-bit mode)

2018-05-13 Thread su at cs dot ucdavis.edu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85767

Bug ID: 85767
   Summary: wrong code at -O2 and -O3 on x86_64-linux-gnu in
64-bit mode (not in 32-bit mode)
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: su at cs dot ucdavis.edu
  Target Milestone: ---

$ gcctk -v
Using built-in specs.
COLLECT_GCC=gcctk
COLLECT_LTO_WRAPPER=/home/su/software/tmp/gcc/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/9.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto
--prefix=/home/su/software/tmp/gcc/gcc-trunk --disable-bootstrap
Thread model: posix
gcc version 9.0.0 20180512 (experimental) [trunk revision 260198] (GCC)
$
$ gcctk -m64 -Os small.c; ./a.out
$ gcctk -m32 -O2 small.c; ./a.out
$
$ gcctk -m64 -O2 small.c
$ ./a.out
Floating point exception (core dumped)
$


--


short a, h, j;
unsigned char b = 0xFF;
unsigned c = 1;
int d, f, g = -2, l, m = -1;
char e;
long k;

void fn1 ()
{ 
  int i = 0;
  for (; i < 1; i++)
{ 
  int o = ~(h & 1000);
  short p = o ^ ~b;
  char q = o % (h ^ b);
  if (p)
{ 
  j = h;
L1:
  h = f % (~a % b) ^ q;
  b = (j >> e) % q;
}
  int s = l || d;
  if (c)
{ 
  l = ~((b ^ g) + (~m ^ s ^ k));
  c = ~0 / g << d;
  d = 0;
  if (l < 0)
goto L1;
}
L2:
  m++;
}
  if (m)
goto L2;
}

int main ()
{ 
  fn1 ();
  return 0;
}

[Bug ada/85766] New: Containing_Directory in Ada.Directories is confused by a trailing separator

2018-05-13 Thread nicolas.boulenguez at free dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85766

Bug ID: 85766
   Summary: Containing_Directory in Ada.Directories is confused by
a trailing separator
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
  Assignee: unassigned at gcc dot gnu.org
  Reporter: nicolas.boulenguez at free dot fr
  Target Milestone: ---

Hello.
The following source

with Ada.Directories; use Ada.Directories;
with Ada.Text_IO; use Ada.Text_IO;
procedure Directories_Bug is
   procedure Show (Path : in String) is
  With_Slash : constant String := Path & '/';
   begin
  Put (With_Slash);
  Put (" -> ");
  Put (Containing_Directory (With_Slash));
  Put (" instead of ");
  Put (Containing_Directory (Path));
  New_Line;
   end Show;
begin
   Show ("/a/b");
   Show ("a/b");
   Show ("b");
end Directories_Bug;

displays:

/a/b/ -> /a/b instead of /a
a/b/ -> a/b instead of a
b/ -> b instead of .

Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=894225

[Bug fortran/85675] parameters from other modules in openmp default(none) not specified in enclosing 'parallel'

2018-05-13 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85675

Dominique d'Humieres  changed:

   What|Removed |Added

   Priority|P3  |P4
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-05-13
 Ever confirmed|0   |1

--- Comment #3 from Dominique d'Humieres  ---
Confirmed from at least 4.3.1 up to trunk (9.0). The error is gone if the two
files are merged in one.

[Bug fortran/85742] [8/9 Regression] sizeof allocatable arrays returning wrong value

2018-05-13 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85742

Paul Thomas  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Paul Thomas  ---
Fixed.

Thanks for the report.

Paul

[Bug fortran/85742] [8/9 Regression] sizeof allocatable arrays returning wrong value

2018-05-13 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85742

--- Comment #5 from Paul Thomas  ---
Author: pault
Date: Sun May 13 18:07:54 2018
New Revision: 260215

URL: https://gcc.gnu.org/viewcvs?rev=260215=gcc=rev
Log:
2018-05-13  Paul Thomas  

PR fortran/85742
* trans-types.c (gfc_get_dtype_rank_type): Reorder evaluation
of 'size'. If the element type is a pointer use the size of the
TREE_TYPE of the type, unless it is VOID_TYPE. In this latter
case, set the size to zero.

2018-05-13  Paul Thomas  

PR fortran/85742
* gfortran.dg/assumed_type_9.f90 : New test.


Added:
branches/gcc-8-branch/gcc/testsuite/gfortran.dg/assumed_type_9.f90
Modified:
branches/gcc-8-branch/gcc/fortran/ChangeLog
branches/gcc-8-branch/gcc/fortran/trans-types.c
branches/gcc-8-branch/gcc/testsuite/ChangeLog

[Bug fortran/72755] Internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1369

2018-05-13 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72755

Paul Thomas  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 CC||pault at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #12 from Paul Thomas  ---
This is fixed by the patch for PRs68846 and 70864 - all the way back to
6-branch.

Thanks for the report.

Paul

[Bug fortran/68241] [meta-bug] [F03] Deferred-length character

2018-05-13 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68241
Bug 68241 depends on bug 72755, which changed state.

Bug 72755 Summary: Internal compiler error: in gfc_get_symbol_decl, at 
fortran/trans-decl.c:1369
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72755

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |FIXED

[Bug fortran/63529] Bad error and ICE with Cray Pointers in Modules

2018-05-13 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63529

kargl at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P4
 Status|WAITING |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |9.0

--- Comment #15 from kargl at gcc dot gnu.org ---
I've committed the documentation update from comment #13.

Russell, thanks for the report, and sorry it took
so long to determine what to do with it.

[Bug fortran/63529] Bad error and ICE with Cray Pointers in Modules

2018-05-13 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63529

--- Comment #14 from kargl at gcc dot gnu.org ---
Author: kargl
Date: Sun May 13 17:18:05 2018
New Revision: 260213

URL: https://gcc.gnu.org/viewcvs?rev=260213=gcc=rev
Log:
2018-05-13  Steven G. Kargl  

PR fortran/63529
* gfortran.texi: Clarify documentation for Cray pointer and
assumed-sized array.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.texi

[Bug fortran/85742] [8/9 Regression] sizeof allocatable arrays returning wrong value

2018-05-13 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85742

--- Comment #4 from Paul Thomas  ---
Author: pault
Date: Sun May 13 17:01:16 2018
New Revision: 260211

URL: https://gcc.gnu.org/viewcvs?rev=260211=gcc=rev
Log:
2018-05-13  Paul Thomas  

PR fortran/85742
* trans-types.c (gfc_get_dtype_rank_type): Reorder evaluation
of 'size'. If the element type is a pointer use the size of the
TREE_TYPE of the type, unless it is VOID_TYPE. In this latter
case, set the size to zero.

2018-05-13  Paul Thomas  

PR fortran/85742
* gfortran.dg/assumed_type_9.f90 : New test.


Added:
trunk/gcc/testsuite/gfortran.dg/assumed_type_9.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-types.c
trunk/gcc/testsuite/ChangeLog

[Bug fortran/72755] Internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1369

2018-05-13 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72755

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|NEW |WAITING

--- Comment #11 from Dominique d'Humieres  ---
The tests in comments 6 and 9 are fixed on trunk (9.0, r260189), likely r260113
(pr68846, pr70864).

Compiling the original test attached to comment 0 now gives the error

pr72755.f90:457:10:

 res = huge(0.0_8)
  1
Error: Arithmetic overflow converting REAL(8) to REAL(4) at (1). This check can
be disabled with the option '-fno-range-check'
pr72755.f90:1082:6:

   use m_util_convert
  1
Fatal Error: Can't open module file 'm_util_convert.mod' for reading at (1): No
such file or directory
compilation terminated.

which expected with

! The resulting real(kind=8)
  real(kind=4) :: res

The test compiles with '-fno-range-check' or if I fix the above typo.

If there is no objection in the coming days I'll mark this PR as a duplicate of
pr70864.

[Bug ada/85760] Using generic function to initialize a type created by a generic package crashes GNAT

2018-05-13 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85760

Eric Botcazou  changed:

   What|Removed |Added

 Target|x86_64-w64-mingw32  |
 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2018-05-13
 CC||ebotcazou at gcc dot gnu.org
   Host|Windows 10 msys2 mingw64|
 Ever confirmed|0   |1

--- Comment #3 from Eric Botcazou  ---
Please avoid opening twice the same bug report, this really doesn't help as
this duplicates the triaging work.  Moreover support for project files has been
dropped in the FSF tree so please submit testcases in gnatchop format only.

[Bug c++/85765] [8/9 Regression] Missing SFINAE in default template argument

2018-05-13 Thread Casey at Carter dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85765

--- Comment #4 from Casey Carter  ---
Narrowing the error down:

template())), decltype(*U(),0) =
0>
U g(T& t, long) { return begin(t); } // #1


prog.cc: In instantiation of 'U g(T&, long int) [with T = volatile il; U =
int*; decltype (((* U()), 0))  = 0]'

The "U = int*" is particularly damning here: it tells us the compiler
substituted `volatile il` into `decltype(begin(declval()))` to get
`begin(declval())`. `int* begin(il);` is a *candidate* for
overload resolution - it has the right name and number of parameters - and it's
a viable candidate because the ICS from lvalue `volatile il` to `il` is an
identity conversion per [over.best.ics]/6: "Any difference in top-level
cv-qualification is subsumed by the initialization itself and does not
constitute a conversion. ... When the parameter has a class type and the
argument expression has the same type, the implicit conversion sequence is an
identity conversion." Since it's the *only* viable function, it is
unambiguously the *best* viable function.

So the only question here is why the compiler omits the final analysis that
would determine that initialization of an `il` from a `volatile il&` is
ill-formed - making the entire function call expression ill-formed - but only
does so when the following `decltype(*U(),0) = 0` is present in the template
parameter list.

[Bug fortran/85742] [8/9 Regression] sizeof allocatable arrays returning wrong value

2018-05-13 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85742

--- Comment #3 from Paul Thomas  ---
Created attachment 44125
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44125=edit
patch for the PR

[Bug c++/85765] [8/9 Regression] Missing SFINAE in default template argument

2018-05-13 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85765

--- Comment #3 from Jonathan Wakely  ---
But that patch is also on gcc-7-branch and the testcases work with gcc version
7.3.1 20180419, so there must have been something latent on trunk that was
revealed by that change.

[Bug c++/85765] [8/9 Regression] Missing SFINAE in default template argument

2018-05-13 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85765

--- Comment #2 from Jonathan Wakely  ---
Those volatile overloads in std::bind are a constant source of problems (most
recently PR 85118).

The regression happened with r258407:

PR c++/84785 - ICE with alias template and default targs.

* pt.c (type_unification_real): Set processing_template_decl if
saw_undeduced == 1.

[Bug c++/85765] [8/9 Regression] Missing SFINAE in default template argument

2018-05-13 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85765

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-05-13
  Known to work||7.3.1
Summary|Missing SFINAE in default   |[8/9 Regression] Missing
   |template argument   |SFINAE in default template
   ||argument
 Ever confirmed|0   |1
  Known to fail||8.1.0, 9.0

[Bug c++/85765] Missing SFINAE in default template argument

2018-05-13 Thread ensadc at mailnesia dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85765

ensadc at mailnesia dot com changed:

   What|Removed |Added

   Keywords||rejects-valid

--- Comment #1 from ensadc at mailnesia dot com ---
This bug can be triggered by libstdc++'s `std::bind`, even when user code does
not use `volatile` (in which case the error is quite hard to discern):


#include 
#include 
#include 

struct begin_fn {
template())),
decltype(*I(), 0) = 0>
static I impl_(T& t, long) noexcept(noexcept(begin(t))) { return begin(t);
}

template
auto operator()(T& t) noexcept(noexcept(impl_(t, 0))) -> decltype(impl_(t,
0)) { return impl_(t, 0); }
};

std::initializer_list x = {1};

auto a = std::bind(begin_fn{}, x)(); // error, even though begin_fn{}(x) is
fine



Similar pattern is used by range-v3 and has caused their example failing to
build with g++ 8.1. See https://github.com/ericniebler/range-v3/issues/826

[Bug libstdc++/80165] Constexpr tuple of variant doesn't work

2018-05-13 Thread ville at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80165

--- Comment #8 from ville at gcc dot gnu.org ---
Author: ville
Date: Sun May 13 10:36:12 2018
New Revision: 260209

URL: https://gcc.gnu.org/viewcvs?rev=260209=gcc=rev
Log:
PR libstdc++/80165
* testsuite/20_util/variant/80165.cc: New.

Added:
trunk/libstdc++-v3/testsuite/20_util/variant/80165.cc
Modified:
trunk/libstdc++-v3/ChangeLog

[Bug c++/85765] New: Missing SFINAE in default template argument

2018-05-13 Thread ensadc at mailnesia dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85765

Bug ID: 85765
   Summary: Missing SFINAE in default template argument
   Product: gcc
   Version: 8.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ensadc at mailnesia dot com
  Target Milestone: ---

https://wandbox.org/permlink/lxHtJOjvghJiLiIO


struct il { il(); il(const il&); };

int* begin(il);

template T&& declval();

template())), decltype(*U(),0) =
0>
U g(T& t, long) { return begin(t); } // #1

template
int g(T& t, ...); // #2

volatile il a;

auto n = g(a, 0); // calls #1 and ends with a hard error, should call #2


prog.cc: In instantiation of 'U g(T&, long int) [with T = volatile il; U =
int*; decltype (((* U()), 0))  = 0]':
prog.cc:15:16:   required from here
prog.cc:8:31: error: binding reference of type 'const il&' to 'volatile il'
discards qualifiers
 U g(T& t, long) { return begin(t); } // #1
  ~^~~
prog.cc:1:19: note:   initializing argument 1 of 'il::il(const il&)'
 struct il { il(); il(const il&); };
   ^~
prog.cc:3:6: note:   initializing argument 1 of 'int* begin(il)'
 int* begin(il);
  ^


#1 should be SFINAE'ed out because `declval()` (of type `volatile il&`) is
not convertible to the parameter of `begin` (of type `il`), so #2 should called
without causing an error. But instead g++ 8.1 selects #1 and emits a hard
error.

g++ 7.3 and before calls #2, as do Clang and MSVC. g++ 8 and later will call #2
if ", decltype(*U(),0) = 0" is removed.

[Bug fortran/70864] internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1403

2018-05-13 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70864

Paul Thomas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Paul Thomas  ---
Fixed on 6-branch to trunk.

Thanks for the report.

Paul

[Bug fortran/68846] Pointer function as LValue doesn't work when the assignment regards a dummy argument.

2018-05-13 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68846

Paul Thomas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #12 from Paul Thomas  ---
Fixed on 6-branch to trunk.

Thanks for the report and the initial patch.

Paul

PS Dominique and Gerhard, thanks for all your help as well!

PPS It's good to see that somebody is actually using pointer function
assignment.

[Bug fortran/68846] Pointer function as LValue doesn't work when the assignment regards a dummy argument.

2018-05-13 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68846

--- Comment #11 from Paul Thomas  ---
Author: pault
Date: Sun May 13 08:34:50 2018
New Revision: 260208

URL: https://gcc.gnu.org/viewcvs?rev=260208=gcc=rev
Log:
2018-05-13  Paul Thomas  

PR fortran/68846
PR fortran/70864
Backport from trunk
* resolve.c (get_temp_from_expr): The temporary must not have
dummy or intent attributes.

2018-05-13  Paul Thomas  

PR fortran/68846
Backport from trunk
* gfortran.dg/temporary_3.f90 : New test.

PR fortran/70864
Backport from trunk
* gfortran.dg/temporary_2.f90 : New test.


Added:
branches/gcc-6-branch/gcc/testsuite/gfortran.dg/temporary_2.f90
branches/gcc-6-branch/gcc/testsuite/gfortran.dg/temporary_3.f90
Modified:
branches/gcc-6-branch/gcc/fortran/ChangeLog
branches/gcc-6-branch/gcc/fortran/resolve.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug fortran/70864] internal compiler error: in gfc_get_symbol_decl, at fortran/trans-decl.c:1403

2018-05-13 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70864

--- Comment #9 from Paul Thomas  ---
Author: pault
Date: Sun May 13 08:34:50 2018
New Revision: 260208

URL: https://gcc.gnu.org/viewcvs?rev=260208=gcc=rev
Log:
2018-05-13  Paul Thomas  

PR fortran/68846
PR fortran/70864
Backport from trunk
* resolve.c (get_temp_from_expr): The temporary must not have
dummy or intent attributes.

2018-05-13  Paul Thomas  

PR fortran/68846
Backport from trunk
* gfortran.dg/temporary_3.f90 : New test.

PR fortran/70864
Backport from trunk
* gfortran.dg/temporary_2.f90 : New test.


Added:
branches/gcc-6-branch/gcc/testsuite/gfortran.dg/temporary_2.f90
branches/gcc-6-branch/gcc/testsuite/gfortran.dg/temporary_3.f90
Modified:
branches/gcc-6-branch/gcc/fortran/ChangeLog
branches/gcc-6-branch/gcc/fortran/resolve.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug target/85434] Address of stack protector guard spilled to stack on ARM

2018-05-13 Thread thopre01 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85434

--- Comment #14 from Thomas Preud'homme  ---
(In reply to Thomas Preud'homme from comment #13)
> Remains now:
> 
> 1) add support for PIC access to the guard
> 2) finish cleanup of the patch

Except for a few missing comments, it's all there. I'll start testing now.