https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92088
--- Comment #7 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- Yes, pointers to VLA are variably modified (but are OK in function arguments even for extern functions, as VLAs there get treated as [*]). So maybe you should use C_TYPE_VARIABLE_SIZE as the test on the types of the arguments (and the return value, or is it OK for that to be variable-size?).