https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118776
--- Comment #5 from Sam James <sjames at gcc dot gnu.org> --- bitstream.i: ``` typedef struct { int quant_type; short *mpeg_quant_matrices } DECODER; char BitstreamReadHeaders_matrix[]; void set_intra_matrix(); void BitstreamReadHeaders(struct length *bs, DECODER *dec) { while (bs) if (dec->quant_type) set_intra_matrix(dec->mpeg_quant_matrices, BitstreamReadHeaders_matrix); } ``` decoder.i: ``` void BitstreamReadHeaders(); void decoder_decode() { BitstreamReadHeaders(); } ``` quant_matrix.i: ``` int set_intra_matrix_i; void set_intra_matrix(short *mpeg_quant_matrices, char *matrix) { short *intra_matrix = mpeg_quant_matrices; set_intra_matrix_i = 0; for (; set_intra_matrix_i < 64; set_intra_matrix_i++) intra_matrix[set_intra_matrix_i] = !set_intra_matrix_i ? 8 : 1 > matrix[set_intra_matrix_i] ?: matrix[set_intra_matrix_i]; } ``` libxvidcore.ld: ``` { global: decoder_decode; local: *; }; ``