Bug 113768 - gm2/extensions/run/pass/vararg2.mod FAILs
Summary: gm2/extensions/run/pass/vararg2.mod FAILs
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: modula2 (show other bugs)
Version: 14.0
: P3 normal
Target Milestone: 14.2
Assignee: Gaius Mulley
URL:
Keywords: testsuite-fail
Depends on:
Blocks:
 
Reported: 2024-02-05 14:07 UTC by Rainer Orth
Modified: 2024-05-07 18:58 UTC (History)
1 user (show)

See Also:
Host:
Target: sparc*-sun-solaris2.11, s390x-ibm-linux-gnu, m68k-unknown-linux-gnu
Build:
Known to work:
Known to fail:
Last reconfirmed: 2024-02-27 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rainer Orth 2024-02-05 14:07:13 UTC
The gm2/extensions/run/pass/vararg2.mod test FAILs on Solaris/SPARC (32 and
64-bit) since its introduction:

FAIL: gm2/extensions/run/pass/vararg2.mod execution,  -O 
FAIL: gm2/extensions/run/pass/vararg2.mod execution,  -O -g 
FAIL: gm2/extensions/run/pass/vararg2.mod execution,  -O3 -fomit-frame-pointer 
FAIL: gm2/extensions/run/pass/vararg2.mod execution,  -O3 -fomit-frame-pointer -finline-functions 
FAIL: gm2/extensions/run/pass/vararg2.mod execution,  -Os 
FAIL: gm2/extensions/run/pass/vararg2.mod execution,  -g 

There are also gcc-testresults reports for Linus/s390x and Linux/m68k.

On Solaris, the test prints

parameter is hello world and length 0
executed /var/gcc/regression/master/11.4-gcc/build/gcc/testsuite/gm21/vararg2.x0 with result fail

All affected targets are big-endian, though I don't yet see how this affects
the test.
Comment 1 Gaius Mulley 2024-02-27 17:41:14 UTC
Thanks this is a duplicate of Bug 114133 (or visa versa).
Comment 2 Richard Biener 2024-05-07 07:44:55 UTC
GCC 14.1 is being released, retargeting bugs to GCC 14.2.
Comment 3 GCC Commits 2024-05-07 18:57:50 UTC
The releases/gcc-14 branch has been updated by Gaius Mulley <gaius@gcc.gnu.org>:

https://gcc.gnu.org/g:07dab3f6b56c711dcd737d856cf01a597a2e1626

commit r14-10179-g07dab3f6b56c711dcd737d856cf01a597a2e1626
Author: Gaius Mulley <gaiusmod2@gmail.com>
Date:   Tue May 7 19:51:08 2024 +0100

    [PR modula2/113768][PR modula2/114133] bugfix constants must be cast prior to vararg call
    
    This bug fix corrects the test codes below by converting the constant
    literals to the type required by C.  In the testcases below the values, 1
    etc were converted into the INTEGER type before being passed to a C
    vararg function.  By default in modula2 constant literal ordinals are
    represented as the ZTYPE (the largest GCC integer type node).
    
    gcc/testsuite/ChangeLog:
    
            PR modula2/113768
            PR modula2/114133
            * gm2/extensions/run/pass/callingc10.mod: Convert constant literal
            numbers into INTEGER.
            * gm2/extensions/run/pass/callingc11.mod: Ditto.
            * gm2/extensions/run/pass/vararg2.mod: Ditto.
            * gm2/iso/run/pass/packed.mod: Emit a printf as a runtime
            diagnostic.
    
    Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
Comment 4 Gaius Mulley 2024-05-07 18:58:58 UTC
Closing now that the patch has been applied.