diff options
author | Jakub Jelinek <jakub@redhat.com> | 2025-05-02 19:10:59 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2025-05-02 19:12:20 +0200 |
commit | c77d04506e6abdc45969d0ff146204be7485244a (patch) | |
tree | 5fac004aa58e3d25e07f3bb4a8c830240222c34e /libjava/testsuite/libjava.lang/stringconst.java | |
parent | 4704b94fc76b51e79e6fcf63344f70da4d89d75c (diff) | |
download | gcc-c77d04506e6abdc45969d0ff146204be7485244a.zip gcc-c77d04506e6abdc45969d0ff146204be7485244a.tar.gz gcc-c77d04506e6abdc45969d0ff146204be7485244a.tar.bz2 |
cobol: Fix up exception handling [PR119364]
The following patch on top of the
https://gcc.gnu.org/pipermail/gcc-patches/2025-May/682500.html
fixes most of the remaining make check-cobol FAILs in the
i686-linux -> x86_64-linux cross-compiler.
Using the testing environment detailed in
https://gcc.gnu.org/pipermail/gcc-patches/2025-April/680403.html
with this patch I get just cobol.dg/group1/declarative_1.cob FAILs
in i686-linux -> x86_64-linux cross and no FAILs in x86_64-linux
native one.
The patch isn't needed just for cross-compilation with different
hosts, but also on x86_64-linux/aarch64-linux native, because without
it the FE is hashing padding bits which contain random garbage and making
code generation decisions based on that. That is very much against the
reproduceability requirements.
2025-05-02 Jakub Jelinek <jakub@redhat.com>
PR cobol/119364
* structs.h (cbl_enabled_exception_type_node): New variable
declaration.
* structs.cc (cbl_enabled_exception_type_node): New variable.
(create_cbl_enabled_exception_t): New function.
(create_our_type_nodes): Initialize cbl_enabled_exception_type_node
using it.
* genapi.cc (stash_exceptions): Don't compare padding bits to
determine if the exceptions are the same as last time. Use
cbl_enabled_exception_type_node for target size and field offsets
and native_encode_expr to write each field into byte sequence.
Diffstat (limited to 'libjava/testsuite/libjava.lang/stringconst.java')
0 files changed, 0 insertions, 0 deletions