1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00

Redefine _IO_iconv_t to store a single gconv step pointer [BZ #25097]

libio can only deal with gconv conversions which consist of a single
step.  Not using __gconv_info simplifies the data structures somewhat.

This eliminates a new GCC 10 warning about subscribing an inner
zero-length array.

Tested on x86_64-linux-gnu with mainline GCC.  Built with
build-many-glibcs.py, also with mainline GCC.  Due to GCC PR 92039,
there are failures left on 32-bit architectures with float128 support.

Change-Id: I8b4c489b619a53154712ff32e1b6f13bb92d4203
This commit is contained in:
Florian Weimer
2019-11-03 11:39:56 +01:00
parent 15740788d7
commit 70c6e15654
4 changed files with 46 additions and 57 deletions

View File

@ -48,14 +48,10 @@
#include <bits/types/wint_t.h>
#include <gconv.h>
typedef union
typedef struct
{
struct __gconv_info __cd;
struct
{
struct __gconv_info __cd;
struct __gconv_step_data __data;
} __combined;
struct __gconv_step *step;
struct __gconv_step_data step_data;
} _IO_iconv_t;
#include <shlib-compat.h>