[Bug c++/69481] ICE with C++11 alias using with templates

2021-12-08 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |7.0

[Bug c++/69481] ICE with C++11 alias using with templates

2017-01-17 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

--- Comment #15 from Nathan Sidwell  ---
*** Bug 77629 has been marked as a duplicate of this bug. ***

[Bug c++/69481] ICE with C++11 alias using with templates

2016-12-14 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

--- Comment #14 from Nathan Sidwell  ---
Author: nathan
Date: Wed Dec 14 16:43:07 2016
New Revision: 243656

URL: https://gcc.gnu.org/viewcvs?rev=243656=gcc=rev
Log:
PR c++/69481
* cp-tree.h (TYPE_TEMPLATE_INFO_MAYBE_ALIAS): Always use
TYPE_ALIAS_TEMPLATE_INFO for aliases.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h

[Bug c++/69481] ICE with C++11 alias using with templates

2016-12-13 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

Nathan Sidwell  changed:

   What|Removed |Added

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

--- Comment #13 from Nathan Sidwell  ---
Fixed trunk r243624.

[Bug c++/69481] ICE with C++11 alias using with templates

2016-12-13 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

--- Comment #12 from Nathan Sidwell  ---
Author: nathan
Date: Tue Dec 13 20:43:08 2016
New Revision: 243624

URL: https://gcc.gnu.org/viewcvs?rev=243624=gcc=rev
Log:
cp/
PR c++/69481
* cp-tree.h (TYPE_TEMPLATE_INFO): Remove alias type checking.
(TYPE_ALIAS_TEMPLATE_INFO): New.
(TYPE_TEMPLATE_INFO_MAYBE_ALIAS): New.  Use those macros.
* error.c (dump_alias_template_specialization): Adjust.
* pt.c (maybe_process_partial_specialization)
iterative_has_template_arg, find_parameter_packs_r,
alias_template_specialization_p, dependent_alias_template_spec_p,
get_underlying_template, lookup_template_class_1, unify): Adjust
template using decl access.

testsuite/
PR c++/69481
* g++.dg/cpp0x/pr69481.C: New.
(--This line, and those below, will be ignored--

Mgcc/testsuite/ChangeLog
Agcc/testsuite/g++.dg/cpp0x/pr69481.C
Mgcc/cp/cp-tree.h
Mgcc/cp/error.c
Mgcc/cp/ChangeLog
Mgcc/cp/pt.c

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/pr69481.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/error.c
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog

[Bug c++/69481] ICE with C++11 alias using with templates

2016-12-12 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

Andrew Pinski  changed:

   What|Removed |Added

 CC||nathan at gcc dot gnu.org

--- Comment #11 from Andrew Pinski  ---
*** Bug 78776 has been marked as a duplicate of this bug. ***

[Bug c++/69481] ICE with C++11 alias using with templates

2016-12-04 Thread tulipawn at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

PeteVine  changed:

   What|Removed |Added

 CC||tulipawn at gmail dot com

--- Comment #10 from PeteVine  ---
I've just hit the same ICE trying to build HHVM on aarch64 with g++7 20161202:

[  5%] Building CXX object
third-party/folly/CMakeFiles/folly.dir/src/folly/ThreadCachedArena.cpp.o
In file included from
/mnt/odroid/hhvm/third-party/folly/folly/detail/ThreadLocalDetail.h:32:0,
 from
/mnt/odroid/hhvm/third-party/folly/folly/ThreadLocal.h:59,
 from
/mnt/odroid/hhvm/third-party/folly/folly/ThreadCachedArena.h:24,
 from
/mnt/odroid/hhvm/third-party/folly/src/folly/ThreadCachedArena.cpp:17:
/mnt/odroid/hhvm/third-party/folly/folly/Function.h:653:3: internal compiler
error: same canonical type node for different types
folly::Function::Traits and
folly::detail::function::FunctionTraits
   SharedProxy asSharedProxy() && {
   ^~~
[  5%] Building CXX object
third-party/folly/CMakeFiles/folly.dir/src/folly/ThreadCachedArena.cpp.o
In file included from
/mnt/odroid/hhvm/third-party/folly/folly/detail/ThreadLocalDetail.h:32:0,
 from
/mnt/odroid/hhvm/third-party/folly/folly/ThreadLocal.h:59,
 from
/mnt/odroid/hhvm/third-party/folly/folly/ThreadCachedArena.h:24,
 from
/mnt/odroid/hhvm/third-party/folly/src/folly/ThreadCachedArena.cpp:17:
/mnt/odroid/hhvm/third-party/folly/folly/Function.h:653:3: internal compiler
error: same canonical type node for different types
folly::Function::Traits and
folly::detail::function::FunctionTraits
   SharedProxy asSharedProxy() && {
   ^~~

[Bug c++/69481] ICE with C++11 alias using with templates

2016-09-20 Thread akim.demaille at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

Akim Demaille  changed:

   What|Removed |Added

 CC||akim.demaille at gmail dot com

--- Comment #9 from Akim Demaille  ---
Hi all,

Our of curiosity, could someone explain why GCC makes a difference between
typedef and using here?  I guess that if GCC does not map them all to the same
type of structure, then it must be because it needs to tell the difference
later.  And I guess it's not a does/does-not support templates that makes the
difference, as the grammar probably suffice here.

Thanks in advance!

[Bug c++/69481] ICE with C++11 alias using with templates

2016-09-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

--- Comment #8 from Markus Trippelsdorf  ---
(In reply to Wenzel Jakob from comment #7)
> Correction: this ICE indeed goes away when building with
> --enable-checking=release (though that doesn't seem like a nice solution). I
> assume I used this check level in my trunk builds before and forgot it this
> time.

No. I guess you were right. You can switch checking on/off with -fchecking in
gcc6/7.
And indeed the testcase from PR77629 only hits the assert on trunk.
Will try to bisect later.

[Bug c++/69481] ICE with C++11 alias using with templates

2016-09-18 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

--- Comment #7 from Wenzel Jakob  ---
Correction: this ICE indeed goes away when building with
--enable-checking=release (though that doesn't seem like a nice solution). I
assume I used this check level in my trunk builds before and forgot it this
time.

[Bug c++/69481] ICE with C++11 alias using with templates

2016-09-18 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

--- Comment #6 from Wenzel Jakob  ---
No -- I am experimenting with the AVX512F backend and thus need to use the
development branch.

[Bug c++/69481] ICE with C++11 alias using with templates

2016-09-18 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

--- Comment #5 from Andrew Pinski  ---
(In reply to Wenzel Jakob from comment #4)
> I'm pretty sure this is a recent regression -- GCC was able to compile the
> code on Bug 77629 a month ago.

Did you use a compiler from a release branch? If so --enable-checking=release
is the default there while on the trunk it is always =yes.

[Bug c++/69481] ICE with C++11 alias using with templates

2016-09-18 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

--- Comment #4 from Wenzel Jakob  ---
I'm pretty sure this is a recent regression -- GCC was able to compile the code
on Bug 77629 a month ago.

[Bug c++/69481] ICE with C++11 alias using with templates

2016-09-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||trippels at gcc dot gnu.org

--- Comment #3 from Markus Trippelsdorf  ---
Here's the reduced testcase from PR77629:

markus@x4 tmp % cat out.ii
template  struct A;
template  using enable_if_t = typename A<_Cond>::type;
template  struct B;
template  struct C;
template  struct D;
template 
struct B> {
  using Base = D;
//  typedef  D  Base; // OK
  using typename Base::Scalar;
  Scalar a;
};

markus@x4 tmp % g++ -c out.ii
out.ii:11:3: internal compiler error: same canonical type node for different
types B::type>::Base and D<
 >
   Scalar a;
   ^~
0x79d2e4 comptypes(tree_node*, tree_node*, int)
../../gcc/gcc/cp/typeck.c:1437
0x6d769d resolve_typename_type(tree_node*, bool)
../../gcc/gcc/cp/pt.c:23721
0x79b874 structural_comptypes
../../gcc/gcc/cp/typeck.c:1204
0x778352 cp_parser_constructor_declarator_p
../../gcc/gcc/cp/parser.c:25376
0x778352 cp_parser_decl_specifier_seq
../../gcc/gcc/cp/parser.c:12874
0x787b59 cp_parser_member_declaration
../../gcc/gcc/cp/parser.c:22479
0x761230 cp_parser_member_specification_opt
../../gcc/gcc/cp/parser.c:22331
0x761230 cp_parser_class_specifier_1
../../gcc/gcc/cp/parser.c:21496
0x763a29 cp_parser_class_specifier
../../gcc/gcc/cp/parser.c:21745
0x763a29 cp_parser_type_specifier
../../gcc/gcc/cp/parser.c:15971
0x777fc8 cp_parser_decl_specifier_seq
../../gcc/gcc/cp/parser.c:12889
0x786863 cp_parser_single_declaration
../../gcc/gcc/cp/parser.c:25975
0x786c13 cp_parser_template_declaration_after_parameters
../../gcc/gcc/cp/parser.c:25667
0x787623 cp_parser_explicit_template_declaration
../../gcc/gcc/cp/parser.c:25902
0x787623 cp_parser_template_declaration_after_export
../../gcc/gcc/cp/parser.c:25920
0x78e5d9 cp_parser_declaration
../../gcc/gcc/cp/parser.c:12209
0x78ce20 cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:12139
0x78d192 cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:4356
0x78d192 c_parse_file()
../../gcc/gcc/cp/parser.c:37714
0x8fa672 c_common_parse_file()
../../gcc/gcc/c-family/c-opts.c:1073

[Bug c++/69481] ICE with C++11 alias using with templates

2016-09-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||wen...@mitsuba-renderer.org

--- Comment #2 from Markus Trippelsdorf  ---
*** Bug 77629 has been marked as a duplicate of this bug. ***

[Bug c++/69481] ICE with C++11 alias using with templates

2016-03-02 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-03-02
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek  ---
Started with r181118 aka PR c++/45114 - Support C++11 alias-declaration.