On 4/26/2021 5:30 PM, Martin Sebor via Gcc-patches wrote:
The VLA bounds that are included by the C front end to attribute access added to functions with VLA parameters to help detect redeclaratations of function with "mismatched" VLA bounds are cleared by the free_lang_data pass before the IL reaches the middle end. The clearing was done to fix pr97172 on the basis that the bounds aren't used by the middle end to trigger any warnings. While that's true, it turns out that the bounds are sometimes used when formatting informational notes. I forgot about that when implementing the final revision of the patch for pr97172 and removing the assumptions that the bounds are nonnull. The attached patch removes the (hopefully last) assumption that the bounds are nonnull. I reviewed the code and didn't find any others. Bootstrapped & tested on x86_64-linux. Martin gcc-100250.diff PR middle-end/100250 - ICE related to -Wmaybe-uninitialized gcc/ChangeLog: PR middle-end/100250 * attribs.c (attr_access::array_as_string): Avoid dereferencing a pointer when it's null. gcc/testsuite/ChangeLog: PR middle-end/100250 * gcc.dg/uninit-pr100250.c: New test.
OK jeff