[Bug c++/89630] [9 Regression] FAIL: g++.dg/cpp0x/alias-decl-64.C

2019-03-18 Thread hjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89630

--- Comment #10 from hjl at gcc dot gnu.org  ---
Author: hjl
Date: Mon Mar 18 21:22:30 2019
New Revision: 269781

URL: https://gcc.gnu.org/viewcvs?rev=269781=gcc=rev
Log:
Add a test for PR c++/89630

PR c++/89630
* g++.target/i386/pr89630.C: New test.

Added:
trunk/gcc/testsuite/g++.target/i386/pr89630.C
Modified:
trunk/gcc/testsuite/ChangeLog

[Bug c++/89630] [9 Regression] FAIL: g++.dg/cpp0x/alias-decl-64.C

2019-03-18 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89630

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #9 from Jason Merrill  ---
Should be fixed.

[Bug c++/89630] [9 Regression] FAIL: g++.dg/cpp0x/alias-decl-64.C

2019-03-18 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89630

--- Comment #8 from Jason Merrill  ---
Author: jason
Date: Mon Mar 18 19:37:00 2019
New Revision: 269777

URL: https://gcc.gnu.org/viewcvs?rev=269777=gcc=rev
Log:
PR c++/89630 - ICE with dependent using-decl as template arg.

Even though these two using-declarations have the same effect, they are not
the same declaration, and we don't need to work to treat them as the same
like we do for typedefs.  If we did need to, we would need to handle them
specially in iterative_hash_template_arg as well as here.

* tree.c (cp_tree_equal): Always return false for USING_DECL.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/tree.c

[Bug c++/89630] [9 Regression] FAIL: g++.dg/cpp0x/alias-decl-64.C

2019-03-18 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89630

Jason Merrill  changed:

   What|Removed |Added

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

[Bug c++/89630] [9 Regression] FAIL: g++.dg/cpp0x/alias-decl-64.C

2019-03-15 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89630

Jakub Jelinek  changed:

   What|Removed |Added

 CC||segher at gcc dot gnu.org

--- Comment #7 from Jakub Jelinek  ---
*** Bug 89715 has been marked as a duplicate of this bug. ***

[Bug c++/89630] [9 Regression] FAIL: g++.dg/cpp0x/alias-decl-64.C

2019-03-08 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89630

Jakub Jelinek  changed:

   What|Removed |Added

 CC|jakub at redhat dot com|jason at gcc dot gnu.org

--- Comment #6 from Jakub Jelinek  ---
Seems like a latent issue before, with the added new ia32 builtins we end up
with lookup_template_class_1 looking up in type_specializations something with
hash
40565706 and have already an entry with the same tmpl and hash 3584195152 in
the table, but both of these % 61 are 35 and so spec_hasher::equal is invoked.
e1->args is
 
full-name "class A<#‘using_decl’ not supported by dump_expr# >"
no-binfo use_template=1 interface-unknown
chain >>
and e2->args is:
 
full-name "class A<#‘using_decl’ not supported by dump_expr# >"
no-binfo use_template=1 interface-unknown
chain >>
Both are itself their own canonical types and template_args_equal calls
same_type_p which ICEs on these.  Before my r269472 change, DECL_UID of the
*->tmpl was different, so different hashes and we were lucky that those two
weren't compared.

Jason, any ideas?

[Bug c++/89630] [9 Regression] FAIL: g++.dg/cpp0x/alias-decl-64.C

2019-03-08 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89630

--- Comment #5 from Jakub Jelinek  ---
Ah, ok, I was trying -march=skylake-avx512, but not -mrtm, now I can reproduce.
As this is not a bootstrapped compiler, it can't be miscompiled, so I bet all
my patch changed is adding a few DECL_UIDs (for the new builtins) and thus
changing exact DECL_UIDs used on the testcase.

[Bug c++/89630] [9 Regression] FAIL: g++.dg/cpp0x/alias-decl-64.C

2019-03-08 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89630

--- Comment #4 from H.J. Lu  ---
(In reply to Jakub Jelinek from comment #3)
> In a non-bootstrapped compiler I certainly can't reproduce, nor reproduced
> it in bootstrap when I've tested the patch.  How exactly have you configured
> your compiler?

No special configuration is needed. Please
try

-mrtm -march=skylake-avx512 -std=c++14

[Bug c++/89630] [9 Regression] FAIL: g++.dg/cpp0x/alias-decl-64.C

2019-03-08 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89630

--- Comment #3 from Jakub Jelinek  ---
In a non-bootstrapped compiler I certainly can't reproduce, nor reproduced it
in bootstrap when I've tested the patch.  How exactly have you configured your
compiler?

[Bug c++/89630] [9 Regression] FAIL: g++.dg/cpp0x/alias-decl-64.C

2019-03-08 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89630

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
How could it be related?  Is the compiler miscompiled?
Do you get this with stage1, stage2 or stage3?

[Bug c++/89630] [9 Regression] FAIL: g++.dg/cpp0x/alias-decl-64.C

2019-03-08 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89630

H.J. Lu  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-03-08
 CC||jakub at redhat dot com
   Target Milestone|--- |9.0
 Ever confirmed|0   |1

--- Comment #1 from H.J. Lu  ---
This is caused by r269467.