public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
@ 2020-04-22  7:09 jakub at gcc dot gnu.org
  2020-04-22  7:10 ` [Bug target/94706] " jakub at gcc dot gnu.org
                   ` (23 more replies)
  0 siblings, 24 replies; 25+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-22  7:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

            Bug ID: 94706
           Summary: [8/9/10 Regression] class with empty base passed
                    incorrectly with -std=c++17 on ia64
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: ABI, wrong-code
          Severity: blocker
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
                CC: jakub at gcc dot gnu.org, ktkachov at gcc dot gnu.org,
                    matmal01 at gcc dot gnu.org, mpolacek at gcc dot gnu.org,
                    rearnsha at gcc dot gnu.org, redi at gcc dot gnu.org,
                    rguenth at gcc dot gnu.org, rsandifo at gcc dot gnu.org
        Depends on: 94383
            Blocks: 94704
  Target Milestone: ---
            Target: aarch64-*-linux

+++ This bug was initially created as a clone of Bug #94383 +++

In https://gcc.gnu.org/pipermail/gcc-testresults/2020-April/559430.html
I see
FAIL: tmpdir-g++.dg-struct-layout-1/t032 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t033 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t055 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t056 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t057 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t058 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
FAIL: tmpdir-g++.dg-struct-layout-1/t059 cp_compat_x_tst.o-cp_compat_y_tst.o
execute 
That suggests similar ABI bug as on aarch64 (PR94383), where the presence or
absence of C++17 empty base artificial FIELD_DECL affects the argument passing
(or return?).
One should be able to do
make check-g++ RUNTESTFLAGS='--target_board=unix/-DDBG struct-layout-1.exp'
to get more information into the log file which exact tests fail, from that
number one can look up in gcc/testsuite/g++/g++.dg-struct-layout-1 subdir of
the build directory t032_test.h etc. the T(...) line with the reported
number(s),
and one should be able to remove all but the chosen one T(...) line from the
file to see a minimized testcase (+ preprocess to better see how exactly the
structure looks like).


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94383
[Bug 94383] [8/9/10 Regression] class with empty base passed incorrectly with
-std=c++17 on aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94704
[Bug 94704] [8/9/10 Regression] class with empty base passed incorrectly with
-std=c++17 on s390x/s390

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
@ 2020-04-22  7:10 ` jakub at gcc dot gnu.org
  2020-04-22  7:36 ` rguenth at gcc dot gnu.org
                   ` (22 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-22  7:10 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |schwab at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Andreas, do you think you could find out which struct (at least one) FAILs? 
See above...

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
  2020-04-22  7:10 ` [Bug target/94706] " jakub at gcc dot gnu.org
@ 2020-04-22  7:36 ` rguenth at gcc dot gnu.org
  2020-04-22  9:08 ` schwab@linux-m68k.org
                   ` (21 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-04-22  7:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |8.5

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
  2020-04-22  7:10 ` [Bug target/94706] " jakub at gcc dot gnu.org
  2020-04-22  7:36 ` rguenth at gcc dot gnu.org
@ 2020-04-22  9:08 ` schwab@linux-m68k.org
  2020-04-22  9:09 ` schwab@linux-m68k.org
                   ` (20 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #2 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48336
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48336&action=edit
Preprocessed t032_x.C with reduced t032_test.h

fail 116.55
fail 116.56
fail 116.30
fail 120.55
fail 142.55
fail 142.56
fail 142.30
fail 144.55
fail 144.56
fail 144.30
fail 145.55
fail 145.56
fail 145.30
fail 178.55
fail 178.56
fail 178.30
fail 187.10
fail 187.11
fail 187.12
fail 187.50
fail 187.55
fail 187.56
fail 187.18
fail 187.30

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2020-04-22  9:08 ` schwab@linux-m68k.org
@ 2020-04-22  9:09 ` schwab@linux-m68k.org
  2020-04-22  9:16 ` schwab@linux-m68k.org
                   ` (19 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #3 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48337
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48337&action=edit
Preprocessed t032_y.C with reduced t032_test.h

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2020-04-22  9:09 ` schwab@linux-m68k.org
@ 2020-04-22  9:16 ` schwab@linux-m68k.org
  2020-04-22  9:16 ` schwab@linux-m68k.org
                   ` (18 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #4 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48338
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48338&action=edit
Preprocessed t033_x.C with reduced t033_test.h

fail 545.55

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2020-04-22  9:16 ` schwab@linux-m68k.org
@ 2020-04-22  9:16 ` schwab@linux-m68k.org
  2020-04-22  9:20 ` schwab@linux-m68k.org
                   ` (17 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #5 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48339
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48339&action=edit
Preprocessed t033_y.C with reduced t033_test.h

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2020-04-22  9:16 ` schwab@linux-m68k.org
@ 2020-04-22  9:20 ` schwab@linux-m68k.org
  2020-04-22  9:21 ` schwab@linux-m68k.org
                   ` (16 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #6 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48340
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48340&action=edit
Preprocessed t055_x.C with reduced t055_test.h

fail 2006.55
fail 2006.56
fail 2006.30

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2020-04-22  9:20 ` schwab@linux-m68k.org
@ 2020-04-22  9:21 ` schwab@linux-m68k.org
  2020-04-22  9:23 ` schwab@linux-m68k.org
                   ` (15 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:21 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #7 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48341
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48341&action=edit
Preprocessed t055_y.C with reduced t055_test.h

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2020-04-22  9:21 ` schwab@linux-m68k.org
@ 2020-04-22  9:23 ` schwab@linux-m68k.org
  2020-04-22  9:24 ` schwab@linux-m68k.org
                   ` (14 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:23 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #8 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48342
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48342&action=edit
Preprocessed t056_x.C with reduced t056_test.h

fail 2215.55
fail 2215.56
fail 2215.30

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2020-04-22  9:23 ` schwab@linux-m68k.org
@ 2020-04-22  9:24 ` schwab@linux-m68k.org
  2020-04-22  9:27 ` schwab@linux-m68k.org
                   ` (13 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:24 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #9 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48343
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48343&action=edit
Preprocessed t056_y.C with reduced t056_test.h

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2020-04-22  9:24 ` schwab@linux-m68k.org
@ 2020-04-22  9:27 ` schwab@linux-m68k.org
  2020-04-22  9:27 ` schwab@linux-m68k.org
                   ` (12 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:27 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #10 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48344
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48344&action=edit
Preprocessed t057_x.C with reduced t057_test.h

fail 2411.55
fail 2411.56
fail 2411.30

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2020-04-22  9:27 ` schwab@linux-m68k.org
@ 2020-04-22  9:27 ` schwab@linux-m68k.org
  2020-04-22  9:30 ` schwab@linux-m68k.org
                   ` (11 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:27 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #11 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48345
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48345&action=edit
Preprocessed t057_y.C with reduced t057_test.h

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2020-04-22  9:27 ` schwab@linux-m68k.org
@ 2020-04-22  9:30 ` schwab@linux-m68k.org
  2020-04-22  9:30 ` schwab@linux-m68k.org
                   ` (10 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #12 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48346
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48346&action=edit
Preprocessed t058_x.C with reduced t058_test.h

fail 2613.30
fail 2638.30

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2020-04-22  9:30 ` schwab@linux-m68k.org
@ 2020-04-22  9:30 ` schwab@linux-m68k.org
  2020-04-22  9:34 ` schwab@linux-m68k.org
                   ` (9 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #13 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48347
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48347&action=edit
Preprocessed t058_y.C with reduced t058_test.h

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2020-04-22  9:30 ` schwab@linux-m68k.org
@ 2020-04-22  9:34 ` schwab@linux-m68k.org
  2020-04-22  9:35 ` schwab@linux-m68k.org
                   ` (8 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #14 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48348
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48348&action=edit
Preprocessed t059_x.C with reduced t059_test.h

fail 2854.30

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2020-04-22  9:34 ` schwab@linux-m68k.org
@ 2020-04-22  9:35 ` schwab@linux-m68k.org
  2020-04-22 10:54 ` jakub at gcc dot gnu.org
                   ` (7 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22  9:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #15 from Andreas Schwab <schwab@linux-m68k.org> ---
Created attachment 48349
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48349&action=edit
Preprocessed t059_y.C with reduced t059_test.h

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (15 preceding siblings ...)
  2020-04-22  9:35 ` schwab@linux-m68k.org
@ 2020-04-22 10:54 ` jakub at gcc dot gnu.org
  2020-04-22 12:11 ` jakub at gcc dot gnu.org
                   ` (6 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-22 10:54 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #16 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Would:
--- gcc/config/ia64/ia64.c.jj   2020-01-12 11:54:36.338414540 +0100
+++ gcc/config/ia64/ia64.c      2020-04-22 12:49:59.627563114 +0200
@@ -4665,7 +4665,7 @@ hfa_element_mode (const_tree type, bool
     case QUAL_UNION_TYPE:
       for (t = TYPE_FIELDS (type); t; t = DECL_CHAIN (t))
        {
-         if (TREE_CODE (t) != FIELD_DECL)
+         if (TREE_CODE (t) != FIELD_DECL || cxx17_empty_base_field_p (t))
            continue;

          mode = hfa_element_mode (TREE_TYPE (t), 1);
on top of https://gcc.gnu.org/pipermail/gcc-patches/2020-April/544276.html fix
that?
ia64 doesn't have any -Wpsabi warnings, so I think it isn't worth bothering
with that.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (16 preceding siblings ...)
  2020-04-22 10:54 ` jakub at gcc dot gnu.org
@ 2020-04-22 12:11 ` jakub at gcc dot gnu.org
  2020-04-22 12:20 ` schwab@linux-m68k.org
                   ` (5 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-22 12:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|8.5                         |10.0
           Priority|P3                          |P4

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (17 preceding siblings ...)
  2020-04-22 12:11 ` jakub at gcc dot gnu.org
@ 2020-04-22 12:20 ` schwab@linux-m68k.org
  2020-04-22 14:48 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: schwab@linux-m68k.org @ 2020-04-22 12:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #17 from Andreas Schwab <schwab@linux-m68k.org> ---
With that patch all struct-layout-1.exp tests pass.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (18 preceding siblings ...)
  2020-04-22 12:20 ` schwab@linux-m68k.org
@ 2020-04-22 14:48 ` cvs-commit at gcc dot gnu.org
  2020-04-23 14:38 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-22 14:48 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #18 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:1be62528078aef241fef6d2fe1cbc8e8e5379115

commit r10-7882-g1be62528078aef241fef6d2fe1cbc8e8e5379115
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Apr 22 16:47:58 2020 +0200

    ia64: Fix C++14 vs. C++17 ABI issue on ia64 [PR94706]

    ia64 seems to be affected too, but the backend doesn't have any
    -Wpsabi warnings and I'm not sure if we really need them for an (almost?)
    dead target.

    2020-04-22  Jakub Jelinek  <jakub@redhat.com>

            PR target/94706
            * config/ia64/ia64.c (hfa_element_mode): Ignore
            cxx17_empty_base_field_p fields.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (19 preceding siblings ...)
  2020-04-22 14:48 ` cvs-commit at gcc dot gnu.org
@ 2020-04-23 14:38 ` jakub at gcc dot gnu.org
  2020-04-29  7:08 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  23 siblings, 0 replies; 25+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-23 14:38 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706
Bug 94706 depends on bug 94383, which changed state.

Bug 94383 Summary: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94383

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (20 preceding siblings ...)
  2020-04-23 14:38 ` jakub at gcc dot gnu.org
@ 2020-04-29  7:08 ` cvs-commit at gcc dot gnu.org
  2020-05-07  9:22 ` [Bug target/94706] [8/9/10/11 " jakub at gcc dot gnu.org
  2021-11-05 23:18 ` timturnerc at yahoo dot com
  23 siblings, 0 replies; 25+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-29  7:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

--- Comment #19 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:cde4353e58410cef404df066a059cd548f702055

commit r10-8028-gcde4353e58410cef404df066a059cd548f702055
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Apr 29 09:07:30 2020 +0200

    ia64: Adjust the C++14 vs. C++17 ABI thing for [[no_unique_address]] too
[PR94706]

    2020-04-29  Jakub Jelinek  <jakub@redhat.com>

            PR target/94706
            * config/ia64/ia64.c (hfa_element_mode): Use DECL_FIELD_ABI_IGNORED
            instead of cxx17_empty_base_field_p.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10/11 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (21 preceding siblings ...)
  2020-04-29  7:08 ` cvs-commit at gcc dot gnu.org
@ 2020-05-07  9:22 ` jakub at gcc dot gnu.org
  2021-11-05 23:18 ` timturnerc at yahoo dot com
  23 siblings, 0 replies; 25+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-05-07  9:22 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED

--- Comment #20 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 10.1+.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [Bug target/94706] [8/9/10/11 Regression] class with empty base passed incorrectly with -std=c++17 on ia64
  2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
                   ` (22 preceding siblings ...)
  2020-05-07  9:22 ` [Bug target/94706] [8/9/10/11 " jakub at gcc dot gnu.org
@ 2021-11-05 23:18 ` timturnerc at yahoo dot com
  23 siblings, 0 replies; 25+ messages in thread
From: timturnerc at yahoo dot com @ 2021-11-05 23:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94706

Tim Turner <timturnerc at yahoo dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |timturnerc at yahoo dot com

--- Comment #21 from Tim Turner <timturnerc at yahoo dot com> ---
Minimal testcase: http://www.compilatori.com/category/computers/
        .align  8
        .globl main http://www.acpirateradio.co.uk/category/property/
        .globl insn
        .type  main, @function http://www.logoarts.co.uk/category/services/
        .type  insn, @function
        # This should return 0 on success.
http://www.slipstone.co.uk/tech/nvidia-and-samsung/
main:
        basr    %r1, %r0
insn:   bc      15, win-insn(0,%r1)
http://embermanchester.uk/category/technology/
        lghi    %r2,1
win:    lghi    %r2,0 https://www.mktrade.fi/ruiskuvalu
        br      %r14
http://connstr.net/category/tech/
Assemble and link the above.

Turn on displaced stepping, set a breakpoint on `insn`, run, then try to step
over the breakpoint with stepi. http://joerg.li/computers/latest-car-deals/
(gdb) set displaced-stepping on
(gdb) b insn http://www.jopspeech.com/services/surface-duo/
(gdb) r
(gdb) stepi http://www.wearelondonmade.com/tech/nvidia-and-samsung/

instead of branching to `win`, gdb will branch to an apparently random nearby
address, and http://www.mconstantine.co.uk/category/sports/ the inferior will
generally crash. This problem is present in all versions of GDB I've tested.
https://waytowhatsnext.com/computers/what-is-ssl-certificate/
When trying to step over a breakpoint set on a BC (branch on condition)
    instruction with displaced stepping on IBM Z, gdb would incorrectly
http://www.go-mk-websites.co.uk/category/sports/
    adjust the pc regardless of whether or not the branch was taken. Since
http://www.iu-bloomington.com/technology/advantages-of-online-banks/
    the branch target is an absolute address, this would cause the inferior
http://fishingnewsletters.co.uk/category/sports/
    to jump around wildly whenever the branch was taken, either crashing it
https://komiya-dental.com/sports/telegram/
    or causing it to behave unpredicta
When trying to step over a breakpoint set on a BC (branch on condition)
http://www-look-4.com/property/houses-in-france/
    instruction with displaced stepping on IBM Z, gdb would incorrectly
    adjust the pc regardless of whether
http://the-hunters.org/category/property/ or not the branch was taken. Since
    the branch target is an absolute address,
https://www.webb-dev.co.uk/sports/sports-and-health/ this would cause the
inferior
    to jump around wildly whenever the branch was taken, either crashing it
    or causing it to behave unpredicta

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2021-11-05 23:18 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-22  7:09 [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 jakub at gcc dot gnu.org
2020-04-22  7:10 ` [Bug target/94706] " jakub at gcc dot gnu.org
2020-04-22  7:36 ` rguenth at gcc dot gnu.org
2020-04-22  9:08 ` schwab@linux-m68k.org
2020-04-22  9:09 ` schwab@linux-m68k.org
2020-04-22  9:16 ` schwab@linux-m68k.org
2020-04-22  9:16 ` schwab@linux-m68k.org
2020-04-22  9:20 ` schwab@linux-m68k.org
2020-04-22  9:21 ` schwab@linux-m68k.org
2020-04-22  9:23 ` schwab@linux-m68k.org
2020-04-22  9:24 ` schwab@linux-m68k.org
2020-04-22  9:27 ` schwab@linux-m68k.org
2020-04-22  9:27 ` schwab@linux-m68k.org
2020-04-22  9:30 ` schwab@linux-m68k.org
2020-04-22  9:30 ` schwab@linux-m68k.org
2020-04-22  9:34 ` schwab@linux-m68k.org
2020-04-22  9:35 ` schwab@linux-m68k.org
2020-04-22 10:54 ` jakub at gcc dot gnu.org
2020-04-22 12:11 ` jakub at gcc dot gnu.org
2020-04-22 12:20 ` schwab@linux-m68k.org
2020-04-22 14:48 ` cvs-commit at gcc dot gnu.org
2020-04-23 14:38 ` jakub at gcc dot gnu.org
2020-04-29  7:08 ` cvs-commit at gcc dot gnu.org
2020-05-07  9:22 ` [Bug target/94706] [8/9/10/11 " jakub at gcc dot gnu.org
2021-11-05 23:18 ` timturnerc at yahoo 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).