The ICE in PR analyzer/108171 appears to be a dup of the recently fixed PR analyzer/110882 and is likewise fixed by it; adding this test case.
Successfully regrtested on x86_64-pc-linux-gnu. Pushed to trunk as r14-2957-gf80efa49b7a163. gcc/testsuite/ChangeLog: PR analyzer/108171 * gcc.dg/analyzer/pr108171.c: New test. --- gcc/testsuite/gcc.dg/analyzer/pr108171.c | 31 ++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/analyzer/pr108171.c diff --git a/gcc/testsuite/gcc.dg/analyzer/pr108171.c b/gcc/testsuite/gcc.dg/analyzer/pr108171.c new file mode 100644 index 00000000000..5f7b9fd7875 --- /dev/null +++ b/gcc/testsuite/gcc.dg/analyzer/pr108171.c @@ -0,0 +1,31 @@ +struct nl_context { + void *cmd_private; +}; + +struct sfeatures_context { + int a; + int req_mask[0]; +}; + +int set_sf_req_mask_idx; + +extern void fill_legacy_flag(); + +void +fill_sfeatures_bitmap(struct nl_context *nlctx) { + while (nlctx) { + fill_legacy_flag(); + struct nl_context __trans_tmp_1 = *nlctx; + struct sfeatures_context *sfctx = __trans_tmp_1.cmd_private; + sfctx->req_mask[set_sf_req_mask_idx] |= 1; + } +} + +void +nl_sfeatures() { + struct nl_context nlctx; + struct sfeatures_context *sfctx; + nlctx.cmd_private = &sfctx; + sfctx = 0; + fill_sfeatures_bitmap(&nlctx); +} -- 2.26.3