From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 1422A386F43F; Wed, 22 Apr 2020 07:09:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1422A386F43F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1587539364; bh=RHPmSk51t/9AWvBSLymdaaSGsSV0seSHsmy2emGMWjM=; h=From:To:Subject:Date:From; b=ViiGPYOJf+r9XWJP6KYWyeRz2ta1feliK/3gqZTyWez60qrwi9Pzf82ur7oEh4MY8 KiOq1KvWBRtk2chb8GEmM3PlWe0xRO05w6LP+/mvlrhMkBuqY1IdRG29m35j0mihFm aZahqCDb9z7Ae1HxZx3YMTDx2XEdsHUv3y1Acbyw= From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/94706] New: [8/9/10 Regression] class with empty base passed incorrectly with -std=c++17 on ia64 Date: Wed, 22 Apr 2020 07:09:23 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 10.0 X-Bugzilla-Keywords: ABI, wrong-code X-Bugzilla-Severity: blocker X-Bugzilla-Who: jakub at gcc dot gnu.org 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 keywords bug_severity priority component assigned_to reporter cc dependson blocked target_milestone cf_gcctarget Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Apr 2020 07:09:24 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D94706 Bug ID: 94706 Summary: [8/9/10 Regression] class with empty base passed incorrectly with -std=3Dc++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.or= g, 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=20 FAIL: tmpdir-g++.dg-struct-layout-1/t033 cp_compat_x_tst.o-cp_compat_y_tst.o execute=20 FAIL: tmpdir-g++.dg-struct-layout-1/t055 cp_compat_x_tst.o-cp_compat_y_tst.o execute=20 FAIL: tmpdir-g++.dg-struct-layout-1/t056 cp_compat_x_tst.o-cp_compat_y_tst.o execute=20 FAIL: tmpdir-g++.dg-struct-layout-1/t057 cp_compat_x_tst.o-cp_compat_y_tst.o execute=20 FAIL: tmpdir-g++.dg-struct-layout-1/t058 cp_compat_x_tst.o-cp_compat_y_tst.o execute=20 FAIL: tmpdir-g++.dg-struct-layout-1/t059 cp_compat_x_tst.o-cp_compat_y_tst.o execute=20 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 pass= ing (or return?). One should be able to do make check-g++ RUNTESTFLAGS=3D'--target_board=3Dunix/-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=3D94383 [Bug 94383] [8/9/10 Regression] class with empty base passed incorrectly wi= th -std=3Dc++17 on aarch64 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D94704 [Bug 94704] [8/9/10 Regression] class with empty base passed incorrectly wi= th -std=3Dc++17 on s390x/s390=