From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 6573F3858C78; Tue, 27 Feb 2024 15:39:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6573F3858C78 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1709048352; bh=El/+uWO2CogJQQ7yRgUERi5RVv0si/rwcMwSRuA0k/Q=; h=From:To:Subject:Date:In-Reply-To:References:From; b=RL2EvpLnwh1nY61Hvwfv8m4o6BeA2yE4TcDs2M0PBOVZ3GRgESWpk7Mn9QBxKxpQd m3BFz+M8VdKDVvMcazuPD/M0UWKiFMYC4zrXbmolX/fq6i+BMwP9CP4iw7+bbfmQRH 2Ao4vt2+GBSoUqX7pE88O0uUo0P/k3+jSNWUd0LU= From: "gaius at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug modula2/114133] problem passing a string pointer to a C function on solaris 32 bit and 64 bit Date: Tue, 27 Feb 2024 15:39:12 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: modula2 X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: gaius at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: gaius at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status everconfirmed cf_reconfirmed_on Message-ID: In-Reply-To: References: 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D114133 Gaius Mulley changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Ever confirmed|0 |1 Last reconfirmed| |2024-02-27 --- Comment #1 from Gaius Mulley --- The gimple IR looks correct, given the input code: MODULE callingc10 ; FROM cvararg IMPORT funcptr ; FROM SYSTEM IMPORT ADR ; BEGIN IF funcptr (1, "hello", 5) =3D 1 THEN END ; IF funcptr (1, "hello" + " ", 6) =3D 1 THEN END ; IF funcptr (1, "hello" + " " + "world", 11) =3D 1 THEN END END callingc10. $ gm2 -g callingc10.mod -c -fdump-ipa-all $ cat callingc10.mod.095i.comdats ... PROC _M2_callingc10_init (INTEGER argc, PROC * argv, PROC * envp) { INTEGER D.670; INTEGER D.669; INTEGER D.668; PROC * _T34.0_1; INTEGER _2; INTEGER _T35.1_3; PROC * _T36.2_4; INTEGER _5; INTEGER _T37.3_6; PROC * _T38.4_7; INTEGER _8; INTEGER _12; INTEGER _16; INTEGER _20; : _T34 =3D "hello"; _T34.0_1 =3D _T34; _12 =3D funcptr (1, _T34.0_1, 5); _2 =3D _12; _T35 =3D _2; _T35.1_3 =3D _T35; ...=