From: Ian Lance Taylor Date: Wed, 6 Sep 2023 22:09:31 +0000 (-0700) Subject: -fgo-dump-spec: support _BitInt X-Git-Tag: basepoints/gcc-15~6377 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e4775af423a590947a10429b9fa889f5d3d41d40;p=thirdparty%2Fgcc.git -fgo-dump-spec: support _BitInt gcc/ PR go/111310 * godump.cc (go_format_type): Handle BITINT_TYPE. gcc/testsuite/ PR go/111310 * gcc.misc-tests/godump-1.c: Add _BitInt test cases. --- diff --git a/gcc/godump.cc b/gcc/godump.cc index 0893d5fbc976..bdd2d108d76d 100644 --- a/gcc/godump.cc +++ b/gcc/godump.cc @@ -760,6 +760,25 @@ go_format_type (class godump_container *container, tree type, } break; + case BITINT_TYPE: + { + const char *s; + char buf[100]; + + s = go_get_uinttype_for_precision (TYPE_PRECISION (type), + TYPE_UNSIGNED (type)); + if (s == NULL) + { + snprintf (buf, sizeof buf, "INVALID-bitint-%u%s", + TYPE_PRECISION (type), + TYPE_UNSIGNED (type) ? "u" : ""); + s = buf; + ret = false; + } + obstack_grow (ob, s, strlen(s)); + } + break; + case REAL_TYPE: { const char *s; diff --git a/gcc/testsuite/gcc.misc-tests/godump-1.c b/gcc/testsuite/gcc.misc-tests/godump-1.c index 95dabdc0e4c0..f359a6578279 100644 --- a/gcc/testsuite/gcc.misc-tests/godump-1.c +++ b/gcc/testsuite/gcc.misc-tests/godump-1.c @@ -234,6 +234,17 @@ const char cc_v1; cc_t cc_v2; /* { dg-final { scan-file godump-1.out "(?n)^var _cc_v2 _cc_t$" } } */ +_BitInt(32) b32_v; +/* { dg-final { scan-file godump-1.out "(?n)^var _b32_v int32$" } } */ + +_BitInt(64) b64_v; +/* { dg-final { scan-file godump-1.out "(?n)^var _b64_v int64$" } } */ + +unsigned _BitInt(32) b32u_v; +/* { dg-final { scan-file godump-1.out "(?n)^var _b32u_v uint32$" } } */ + +_BitInt(33) b33_v; +/* { dg-final { scan-file godump-1.out "(?n)^// var _b33_v INVALID-bitint-33$" } } */ /*** pointer and array types ***/ typedef void *vp_t;