[Bug target/124566] va_list type should not have internal linkage
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Mar 20 08:11:08 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124566
--- Comment #1 from GCC 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:fab0829c41c86433651c87522bd572848e56ecdd
commit r16-8184-gfab0829c41c86433651c87522bd572848e56ecdd
Author: Jakub Jelinek <jakub@redhat.com>
Date: Fri Mar 20 09:10:25 2026 +0100
sh: Set TREE_PUBLIC on TYPE_NAME of __va_list_tag [PR124566]
Same problem as in PR124565 on alpha,
module;
#include <cstdarg>
export module pr124565;
export namespace std {
using std::va_list;
}
fails on sh4-linux with -fmodules:
pr124565.cc:5:14: error: exporting âtypedef __gnuc_va_list va_listâ
that does not have external linkage
<built-in>: note: âtypedef struct __va_list_tag __va_list_tagâ declared
here with internal linkage
Same fix, tested again with a cross on that testcase.
E.g. the just posted g++.dg/plugin/std-module-exports* tests would
FAIL because of this on sh4-linux.
2026-03-20 Jakub Jelinek <jakub@redhat.com>
PR target/124566
* config/sh/sh.cc (sh_build_builtin_va_list): Set TREE_PUBLIC
on type_decl.
More information about the Gcc-bugs
mailing list