[clang][CodeGen][UBSan] VLA size checking for unsigned integer parameter
authorAdam Magier <adam.a.magier.foss@gmail.com>
Thu, 16 Dec 2021 23:56:43 +0000 (00:56 +0100)
committerAdam Magier <adam.a.magier.foss@gmail.com>
Wed, 12 Jan 2022 00:11:52 +0000 (01:11 +0100)
commitb2715660ed0f821619f51158fb92cd8bddd105d8
treec5a6397cfd29adcd54d914327bfd3b98cbb98348
parentb7f298f17416dec43269c47e9052ae537071bd92
[clang][CodeGen][UBSan] VLA size checking for unsigned integer parameter

The code generation for the UBSan VLA size check was qualified by a con-
dition that the parameter must be a signed integer, however the C spec
does not make any distinction that only signed integer parameters can be
used to declare a VLA, only qualifying that it must be greater than zero
if it is not a constant.

Reviewed By: rjmccall

Differential Revision: https://reviews.llvm.org/D116048
clang/lib/CodeGen/CodeGenFunction.cpp
clang/test/CodeGen/catch-undef-behavior.c