public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "slyfox at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/101219] [12 Regression] ice in perform_or_defer_access_check since r12-1804-g65870e75616ee435
Date: Mon, 19 Jul 2021 21:26:22 +0000 [thread overview]
Message-ID: <bug-101219-4-3CfQPGUNHI@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-101219-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101219
--- Comment #4 from Sergei Trofimovich <slyfox at gcc dot gnu.org> ---
Got the same mednafen crash today. Poked slightly at the context in gdb.
>From what I understand the crash happens when analysing statement `void
(PCEFast_PSG::*ch_0)(int, int *);`. There is no access to the any object field
implied by `TYPE_BINFO (access_type)`. Or is there? Should it refer to `class
PCEFast_PSG`?
(gdb) fr 1
#1 0x000000000079ff83 in finish_non_static_data_member (decl=0x7ffff7652a18,
object=0x7ffff7796860, qualifying_scope=0x0) at
/home/slyfox/dev/git/gcc/gcc/cp/semantics.c:2208
2208 perform_or_defer_access_check (TYPE_BINFO (access_type), decl,
(gdb) list
2203 QUALIFYING_SCOPE is also non-null. */
2204 else
2205 {
2206 volatile tree access_type = TREE_TYPE (object);
2207
2208 perform_or_defer_access_check (TYPE_BINFO (access_type), decl,
2209 decl, tf_warning_or_error);
2210
2211 /* If the data member was named `C::M', convert `*this' to `C'
2212 first. */
(gdb) call print_tree(object)
No symbol "print_tree" in current context.
(gdb) call debug_tree(object)
<ptrmem_cst 0x7ffff7796860
type <record_type 0x7ffff77a1bd0 type_2 type_6 TI
size <integer_cst 0x7ffff7625f18 constant 128>
unit-size <integer_cst 0x7ffff7625f30 constant 16>
align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff77a1bd0
fields <field_decl 0x7ffff7652a18 __pfn type <pointer_type
0x7ffff77a1b28>
unsigned nonaddressable DI psg.cpp.cpp:5:39
size <integer_cst 0x7ffff7625ed0 constant 64>
unit-size <integer_cst 0x7ffff7625ee8 constant 8>
align:64 warn_if_not_align:0 offset_align 128
offset <integer_cst 0x7ffff7625f00 constant 0>
bit-offset <integer_cst 0x7ffff7625f48 constant 0> context
<record_type 0x7ffff77a1bd0> chain <field_decl 0x7ffff7652ab0 __delta>>
ptrmemfunc fn type <pointer_type 0x7ffff77a1b28 type <method_type
0x7ffff77a17e0>
public unsigned type_6 DI size <integer_cst 0x7ffff7625ed0 64>
unit-size <integer_cst 0x7ffff7625ee8 8>
align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff77a1b28>
chain <type_decl 0x7ffff7652b48 __ptrmemfunc_type>>
constant>
(gdb) call debug_tree(access_type)
<record_type 0x7ffff77a1bd0 type_2 type_6 TI
size <integer_cst 0x7ffff7625f18 type <integer_type 0x7ffff76430a8
bitsizetype> constant 128>
unit-size <integer_cst 0x7ffff7625f30 type <integer_type 0x7ffff7643000
sizetype> constant 16>
align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff77a1bd0
fields <field_decl 0x7ffff7652a18 __pfn
type <pointer_type 0x7ffff77a1b28 type <method_type 0x7ffff77a17e0>
public unsigned type_6 DI
size <integer_cst 0x7ffff7625ed0 constant 64>
unit-size <integer_cst 0x7ffff7625ee8 constant 8>
align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff77a1b28>
unsigned nonaddressable DI psg.cpp.cpp:5:39 size <integer_cst
0x7ffff7625ed0 64> unit-size <integer_cst 0x7ffff7625ee8 8>
align:64 warn_if_not_align:0 offset_align 128
offset <integer_cst 0x7ffff7625f00 constant 0>
bit-offset <integer_cst 0x7ffff7625f48 constant 0> context <record_type
0x7ffff77a1bd0>
chain <field_decl 0x7ffff7652ab0 __delta type <integer_type
0x7ffff7643738 long int>
nonaddressable DI psg.cpp.cpp:5:39 size <integer_cst 0x7ffff7625ed0
64> unit-size <integer_cst 0x7ffff7625ee8 8>
align:64 warn_if_not_align:0 offset_align 128 offset <integer_cst
0x7ffff7625f00 0> bit-offset <integer_cst 0x7ffff7625ed0 64> context
<record_type 0x7ffff77a1bd0>>> ptrmemfunc fn type <pointer_type 0x7ffff77a1b28>
chain <type_decl 0x7ffff7652b48 __ptrmemfunc_type>>
next prev parent reply other threads:[~2021-07-19 21:26 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-26 8:57 [Bug c++/101219] New: ice in perform_or_defer_access_check dcb314 at hotmail dot com
2021-06-26 9:01 ` [Bug c++/101219] " dcb314 at hotmail dot com
2021-06-28 7:25 ` [Bug c++/101219] [12 Regression] ice in perform_or_defer_access_check since r12-1804-g65870e75616ee435 marxin at gcc dot gnu.org
2021-06-28 20:00 ` msebor at gcc dot gnu.org
2021-07-19 21:26 ` slyfox at gcc dot gnu.org [this message]
2021-07-19 21:47 ` slyfox at gcc dot gnu.org
2021-07-20 23:16 ` slyfox at gcc dot gnu.org
2021-07-21 0:06 ` msebor at gcc dot gnu.org
2021-07-22 23:20 ` slyfox at gcc dot gnu.org
2021-08-12 18:44 ` cvs-commit at gcc dot gnu.org
2021-08-12 18:46 ` slyfox at gcc dot gnu.org
2021-11-03 18:53 ` ppalka at gcc dot gnu.org
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-101219-4-3CfQPGUNHI@http.gcc.gnu.org/bugzilla/ \
--to=gcc-bugzilla@gcc.gnu.org \
--cc=gcc-bugs@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).