public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/66283] New: [ICE] [IA64] verify type mis-diagnosis: type variant differs by TYPE_NO_FORCE_BLK
@ 2015-05-25 23:22 gary at intrepid dot com
2015-05-26 14:38 ` [Bug middle-end/66283] " gary at intrepid dot com
2015-05-27 17:29 ` gary at intrepid dot com
0 siblings, 2 replies; 3+ messages in thread
From: gary at intrepid dot com @ 2015-05-25 23:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66283
Bug ID: 66283
Summary: [ICE] [IA64] verify type mis-diagnosis: type variant
differs by TYPE_NO_FORCE_BLK
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: gary at intrepid dot com
Target Milestone: ---
This recent commit implemented additional type verification checks:
r223252 | hubicka | 2015-05-16 13:51:50 -0700 (Sat, 16 May 2015) | 3 lines
* tree.c (verify_type_variant): Verify tree_base and type_common flags.
(verify_type): Verify STRING_FLAG.
This triggers an ICE on IA64 when configured with --enable-checking and when
the test program below is compiled with "-g". It may be possible to change
the test so that the declaration of "struct S" to asserts TYPE_NO_FORCE_BLK()
for a more common target like the x86_64, but I didn't try that.
typedef volatile struct S opaque_qualified_t;
struct S
{
unsigned long _s1;
int _s2;
};
void
proc (opaque_qualified_t *p __attribute__((unused)))
{
}
ice-no-force-blk.i: In function ‘proc’:
ice-no-force-blk.i:12:1: error: type variant differs by TYPE_NO_FORCE_BLK.
}
^
<record_type 0x2000000000b6eee0 S asm_written no-force-blk type_0 BLK
size <integer_cst 0x2000000000a72388 type <integer_type 0x2000000000ab0150
bitsizetype>
constant 128>
unit size <integer_cst 0x2000000000a723a0 type <integer_type
0x2000000000ab00a8 sizetype>
constant 16>
align 64 symtab 12587232 alias set -1 canonical type 0x2000000000b6eee0
fields <field_decl 0x2000000000b41858 _s1
type <integer_type 0x2000000000ab0888 long unsigned int asm_written
public unsigned DI
size <integer_cst 0x2000000000a72340 constant 64>
unit size <integer_cst 0x2000000000a72358 constant 8>
align 64 symtab 12587632 alias set -1 canonical type
0x2000000000ab0888 precision 64 min
<integer_cst 0x2000000000a72610 0> max <integer_cst 0x2000000000b20520
18446744073709551615>
pointer_to_this <pointer_type 0x2000000000ab46e0>>
unsigned DI file ice-no-force-blk.i line 5 col 18 size <integer_cst
0x2000000000a72340 64>
unit size <integer_cst 0x2000000000a72358 8>
align 64 offset_align 128
offset <integer_cst 0x2000000000a72370 constant 0>
bit offset <integer_cst 0x2000000000a723b8 constant 0> context
<record_type 0x2000000000b6eee0
S>
chain <field_decl 0x2000000000b418f0 _s2 type <integer_type
0x2000000000ab0690 int>
SI file ice-no-force-blk.i line 6 col 8
size <integer_cst 0x2000000000a72580 constant 32>
unit size <integer_cst 0x2000000000a72598 constant 4>
align 32 offset_align 128 offset <integer_cst 0x2000000000a72370 0>
bit offset <integer_cst
0x2000000000a72340 64> context <record_type 0x2000000000b6eee0 S>>> context
<translation_unit_decl
0x2000000000a200f0 D.1470>
chain <type_decl 0x2000000000b41728 D.1463>>
<record_type 0x2000000000b6f030 opaque_qualified_t volatile BLK
size <integer_cst 0x2000000000a72388 type <integer_type 0x2000000000ab0150
bitsizetype>
constant 128>
unit size <integer_cst 0x2000000000a723a0 type <integer_type
0x2000000000ab00a8 sizetype>
constant 16>
align 64 symtab 12587152 alias set -1 canonical type 0x2000000000b6ef88
fields <field_decl 0x2000000000b41858 _s1
type <integer_type 0x2000000000ab0888 long unsigned int asm_written
public unsigned DI
size <integer_cst 0x2000000000a72340 constant 64>
unit size <integer_cst 0x2000000000a72358 constant 8>
align 64 symtab 12587632 alias set -1 canonical type
0x2000000000ab0888 precision 64 min
<integer_cst 0x2000000000a72610 0> max <integer_cst 0x2000000000b20520
18446744073709551615>
pointer_to_this <pointer_type 0x2000000000ab46e0>>
unsigned DI file ice-no-force-blk.i line 5 col 18 size <integer_cst
0x2000000000a72340 64>
unit size <integer_cst 0x2000000000a72358 8>
align 64 offset_align 128
offset <integer_cst 0x2000000000a72370 constant 0>
bit offset <integer_cst 0x2000000000a723b8 constant 0> context
<record_type 0x2000000000b6eee0
S>
chain <field_decl 0x2000000000b418f0 _s2 type <integer_type
0x2000000000ab0690 int>
SI file ice-no-force-blk.i line 6 col 8
size <integer_cst 0x2000000000a72580 constant 32>
unit size <integer_cst 0x2000000000a72598 constant 4>
align 32 offset_align 128 offset <integer_cst 0x2000000000a72370 0>
bit offset <integer_cst
0x2000000000a72340 64> context <record_type 0x2000000000b6eee0 S>>> context
<translation_unit_decl
0x2000000000a200f0 D.1470>
pointer_to_this <pointer_type 0x2000000000b6f570>>
ice-no-force-blk.i:12:1: internal compiler error: verify_type failed
0x40000000025159ff verify_type(tree_node const*)
/eng/upc/dev/gary/gupc-dev/src/gupc/gcc/tree.c:13209
0x4000000000ad3d4f gen_type_die_with_usage
/eng/upc/dev/gary/gupc-dev/src/gupc/gcc/dwarf2out.c:20304
0x4000000000ad4b0f gen_type_die_with_usage
/eng/upc/dev/gary/gupc-dev/src/gupc/gcc/dwarf2out.c:20391
0x4000000000ad572f gen_type_die
/eng/upc/dev/gary/gupc-dev/src/gupc/gcc/dwarf2out.c:20488
0x4000000000adbfdf gen_decl_die
/eng/upc/dev/gary/gupc-dev/src/gupc/gcc/dwarf2out.c:21104
0x4000000000ac4d9f gen_subprogram_die
/eng/upc/dev/gary/gupc-dev/src/gupc/gcc/dwarf2out.c:18859
0x4000000000adb0af gen_decl_die
/eng/upc/dev/gary/gupc-dev/src/gupc/gcc/dwarf2out.c:21018
0x4000000000adee0f dwarf2out_decl
/eng/upc/dev/gary/gupc-dev/src/gupc/gcc/dwarf2out.c:21451
0x4000000000adee7f dwarf2out_function_decl
/eng/upc/dev/gary/gupc-dev/src/gupc/gcc/dwarf2out.c:21459
0x4000000000c9fc0f rest_of_handle_final
/eng/upc/dev/gary/gupc-dev/src/gupc/gcc/final.c:4525
0x4000000000ca037f execute
/eng/upc/dev/gary/gupc-dev/src/gupc/gcc/final.c:4567
>From gcc-bugs-return-487243-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue May 26 00:15:07 2015
Return-Path: <gcc-bugs-return-487243-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 1359 invoked by alias); 26 May 2015 00:15:07 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 1309 invoked by uid 48); 26 May 2015 00:15:02 -0000
From: "potswa at mac dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug libstdc++/66284] New: std::reference_wrapper is transparent to std::function::target_type
Date: Tue, 26 May 2015 00:15:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: libstdc++
X-Bugzilla-Version: 5.1.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: potswa at mac dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone
Message-ID: <bug-66284-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-05/txt/msg02083.txt.bz2
Content-length: 781
https://gcc.gnu.org/bugzilla/show_bug.cgi?idf284
Bug ID: 66284
Summary: std::reference_wrapper is transparent to
std::function::target_type
Product: gcc
Version: 5.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: potswa at mac dot com
Target Milestone: ---
std::function elides reference_wrappers from the target. This is not
conforming.
#include <functional>
#include <cassert>
struct s { void operator () () {} } g;
std::function< void() > f = std::ref( g );
int main() {
assert ( f.target< std::reference_wrapper< s > >() );
assert ( ! f.target< s >() );
}
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug middle-end/66283] [ICE] [IA64] verify type mis-diagnosis: type variant differs by TYPE_NO_FORCE_BLK
2015-05-25 23:22 [Bug c/66283] New: [ICE] [IA64] verify type mis-diagnosis: type variant differs by TYPE_NO_FORCE_BLK gary at intrepid dot com
@ 2015-05-26 14:38 ` gary at intrepid dot com
2015-05-27 17:29 ` gary at intrepid dot com
1 sibling, 0 replies; 3+ messages in thread
From: gary at intrepid dot com @ 2015-05-26 14:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66283
--- Comment #1 from Gary Funck <gary at intrepid dot com> ---
FYI, this also results in a bootstrap failure for C++ on IA64, when configured
with:
CFLAGS='-g3 -O0' \
CXXFLAGS='-g3 -O0' \
$src/configure \
--prefix=$rls \
--enable-checking \
--enable-languages=c,c++
/eng/upc/dev/gary/gcc-trunk/bld/./gcc/xgcc -shared-libgcc
-B/eng/upc/dev/gary/gcc-trunk/bld/./gcc -nostdinc++
-L/eng/upc/dev/gary/gcc-trunk/bld/ia64-unknown-linux-gnu/libstdc++-v3/src
-L/eng/upc/dev/gary/gcc-trunk/bld/
ia64-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/eng/upc/dev/gary/gcc-trunk/bld/ia64-unknown-linux-gnu/libstd
c++-v3/libsupc++/.libs
-B/eng/upc/dev/gary/gcc-trunk/rls/ia64-unknown-linux-gnu/bin/
-B/eng/upc/dev/gary/gcc-
trunk/rls/ia64-unknown-linux-gnu/lib/ -isystem
/eng/upc/dev/gary/gcc-trunk/rls/ia64-unknown-linux-gnu/include
-isystem /eng/upc/dev/gary/gcc-trunk/rls/ia64-unknown-linux-gnu/sys-include
-x c++-header -nostdinc++ -O2
-g3 -O0 -D_GNU_SOURCE
-I/eng/upc/dev/gary/gcc-trunk/bld/ia64-unknown-linux-gnu/libstdc++-v3/include/ia64-un
known-linux-gnu
-I/eng/upc/dev/gary/gcc-trunk/bld/ia64-unknown-linux-gnu/libstdc++-v3/include
-I/eng/upc/dev/
gary/gcc-trunk/src/libstdc++-v3/libsupc++ -O2 -g -std=gnu++0x
/eng/upc/dev/gary/gcc-trunk/src/libstdc++-v3/in
clude/precompiled/stdc++.h \
-o ia64-unknown-linux-gnu/bits/stdc++.h.gch/O2ggnu++0x.gch
In file included from /usr/include/bits/types.h:131:0,
from /usr/include/ctype.h:28,
from
/eng/upc/dev/gary/gcc-trunk/bld/ia64-unknown-linux-gnu/libstdc++-v3/include/cctype:42,
from
/eng/upc/dev/gary/gcc-trunk/src/libstdc++-v3/include/precompiled/stdc++.h:35:
/usr/include/bits/types.h:144:12: error: type variant differs by
TYPE_NO_FORCE_BLK.
__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */
^
<record_type 0x2000000000778928 ._0 asm_written no-force-blk type_5 BLK
size <integer_cst 0x20000000005624f0 type <integer_type 0x20000000005a0150
bitsizetype> constant 64>
unit size <integer_cst 0x2000000000562508 type <integer_type
0x20000000005a00a8 sizetype> constant 8>
align 32 symtab 6757648 alias set -1 canonical type 0x2000000000778928
fields <field_decl 0x2000000000655ad8 __val
type <array_type 0x2000000000778b20 type <integer_type
0x20000000005a0690 int>
asm_written no-force-blk BLK size <integer_cst 0x20000000005624f0
64> unit size <integer_cst 0x20
00000000562508 8>
align 32 symtab 6757728 alias set -1 canonical type
0x2000000000778b20 domain <integer_type 0x200
0000000775400>>
nonlocal decl_3 BLK file /usr/include/bits/types.h line 144 col 12 size
<integer_cst 0x20000000005624
f0 64> unit size <integer_cst 0x2000000000562508 8>
align 32 offset_align 128
offset <integer_cst 0x2000000000562520 constant 0>
bit offset <integer_cst 0x2000000000562568 constant 0> context
<record_type 0x2000000000778928 ._0>
chain <type_decl 0x2000000000655a40 ._0 type <record_type
0x20000000007789d0 ._0>
nonlocal in_system_header decl_4 VOID file
/usr/include/bits/types.h line 144 col 12
align 1 context <record_type 0x2000000000778928 ._0> result
<record_type 0x2000000000778928 ._0>
>> context <translation_unit_decl 0x2000000000520078 D.1>
full-name "struct<anonymous>"
X() X(constX&) this=(X&) n_parents=0 use_template=0 interface-unknown
chain <type_decl 0x20000000006559a8 ._0>>
<record_type 0x20000000007789d0 ._0 type_5 BLK
size <integer_cst 0x20000000005624f0 type <integer_type 0x20000000005a0150
bitsizetype> constant 64>
unit size <integer_cst 0x2000000000562508 type <integer_type
0x20000000005a00a8 sizetype> constant 8>
align 32 symtab 0 alias set -1 canonical type 0x2000000000778928
fields <field_decl 0x2000000000655ad8 __val
type <array_type 0x2000000000778b20 type <integer_type
0x20000000005a0690 int>
asm_written no-force-blk BLK size <integer_cst 0x20000000005624f0
64> unit size <integer_cst 0x20
00000000562508 8>
align 32 symtab 6757728 alias set -1 canonical type
0x2000000000778b20 domain <integer_type 0x200
0000000775400>>
nonlocal decl_3 BLK file /usr/include/bits/types.h line 144 col 12 size
<integer_cst 0x20000000005624
f0 64> unit size <integer_cst 0x2000000000562508 8>
align 32 offset_align 128
offset <integer_cst 0x2000000000562520 constant 0>
bit offset <integer_cst 0x2000000000562568 constant 0> context
<record_type 0x2000000000778928 ._0>
chain <type_decl 0x2000000000655a40 ._0 type <record_type
0x20000000007789d0 ._0>
nonlocal in_system_header decl_4 VOID file
/usr/include/bits/types.h line 144 col 12
align 1 context <record_type 0x2000000000778928 ._0> result
<record_type 0x2000000000778928 ._0>
>> context <translation_unit_decl 0x2000000000520078 D.1>
full-name "struct<anonymous>"
X() X(constX&) this=(X&) n_parents=0 use_template=0 interface-unknown
chain <type_decl 0x20000000006559a8 ._0>>
/usr/include/bits/types.h:144:12: internal compiler error: verify_type failed
0x4000000002b2b9bf verify_type(tree_node const*)
/eng/upc/dev/gary/gcc-trunk/src/gcc/tree.c:13277
0x4000000001128ddf gen_type_die_with_usage
/eng/upc/dev/gary/gcc-trunk/src/gcc/dwarf2out.c:20250
0x400000000112a7bf gen_type_die
/eng/upc/dev/gary/gcc-trunk/src/gcc/dwarf2out.c:20434
0x40000000011305df gen_decl_die
/eng/upc/dev/gary/gcc-trunk/src/gcc/dwarf2out.c:20987
0x400000000112573f gen_member_die
/eng/upc/dev/gary/gcc-trunk/src/gcc/dwarf2out.c:19945
0x4000000001126f2f gen_struct_or_union_type_die
/eng/upc/dev/gary/gcc-trunk/src/gcc/dwarf2out.c:20038
0x4000000001128c1f gen_tagged_type_die
/eng/upc/dev/gary/gcc-trunk/src/gcc/dwarf2out.c:20227
0x4000000001129e7f gen_type_die_with_usage
/eng/upc/dev/gary/gcc-trunk/src/gcc/dwarf2out.c:20381
0x400000000112a7bf gen_type_die
/eng/upc/dev/gary/gcc-trunk/src/gcc/dwarf2out.c:20434
0x40000000011305df gen_decl_die
/eng/upc/dev/gary/gcc-trunk/src/gcc/dwarf2out.c:20987
0x4000000001133d4f dwarf2out_decl
/eng/upc/dev/gary/gcc-trunk/src/gcc/dwarf2out.c:21397
0x400000000113144f dwarf2out_type_decl
/eng/upc/dev/gary/gcc-trunk/src/gcc/dwarf2out.c:21096
0x4000000001cd211f rest_of_type_compilation(tree_node*, int)
/eng/upc/dev/gary/gcc-trunk/src/gcc/passes.c:309
0x400000000062880f finish_struct_1(tree_node*)
/eng/upc/dev/gary/gcc-trunk/src/gcc/cp/class.c:6723
0x400000000062b47f finish_struct(tree_node*, tree_node*)
/eng/upc/dev/gary/gcc-trunk/src/gcc/cp/class.c:6888
0x400000000074f7ef cp_parser_class_specifier_1
/eng/upc/dev/gary/gcc-trunk/src/gcc/cp/parser.c:19877
0x40000000007520ef cp_parser_class_specifier
/eng/upc/dev/gary/gcc-trunk/src/gcc/cp/parser.c:20105
0x400000000072d45f cp_parser_type_specifier
/eng/upc/dev/gary/gcc-trunk/src/gcc/cp/parser.c:14734
0x400000000071e51f cp_parser_decl_specifier_seq
/eng/upc/dev/gary/gcc-trunk/src/gcc/cp/parser.c:11965
0x400000000071c01f cp_parser_simple_declaration
/eng/upc/dev/gary/gcc-trunk/src/gcc/cp/parser.c:11542
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug middle-end/66283] [ICE] [IA64] verify type mis-diagnosis: type variant differs by TYPE_NO_FORCE_BLK
2015-05-25 23:22 [Bug c/66283] New: [ICE] [IA64] verify type mis-diagnosis: type variant differs by TYPE_NO_FORCE_BLK gary at intrepid dot com
2015-05-26 14:38 ` [Bug middle-end/66283] " gary at intrepid dot com
@ 2015-05-27 17:29 ` gary at intrepid dot com
1 sibling, 0 replies; 3+ messages in thread
From: gary at intrepid dot com @ 2015-05-27 17:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66283
Gary Funck <gary at intrepid dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |DUPLICATE
--- Comment #2 from Gary Funck <gary at intrepid dot com> ---
Duplicate
*** This bug has been marked as a duplicate of bug 66181 ***
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-05-27 17:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-25 23:22 [Bug c/66283] New: [ICE] [IA64] verify type mis-diagnosis: type variant differs by TYPE_NO_FORCE_BLK gary at intrepid dot com
2015-05-26 14:38 ` [Bug middle-end/66283] " gary at intrepid dot com
2015-05-27 17:29 ` gary at intrepid dot com
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).