]> git.ipfire.org Git - thirdparty/gcc.git/commit
c: Handle REALPART_EXPR and IMAGPART_EXPR in fold_offsetof [PR105555]
authorAndrew Pinski <andrew.pinski@oss.qualcomm.com>
Thu, 12 Feb 2026 17:07:10 +0000 (09:07 -0800)
committerAndrew Pinski <andrew.pinski@oss.qualcomm.com>
Thu, 12 Feb 2026 23:23:37 +0000 (15:23 -0800)
commitbfeb09e591b2ae629277d4ec6578c24998c77c3b
tree7cd3cd8eae373b06fbb52f4cf2c2daea76d26073
parent12f461009b0e833e4a0404ab348c0fe5b7bbfc75
c: Handle REALPART_EXPR and IMAGPART_EXPR in fold_offsetof [PR105555]

In some cases the C front-end calls into fold_offsetof to fold
an address but that does not handle REALPART_EXPR nor IMAGPART_EXPR so
gcc produces an internal compiler error. For offsetof, REALPART_EXPR/IMAGPART_EXPR
won't show up which is why they were not there before.

Bootstrapped and tested on x86_64-linux-gnu.

PR c/105555

gcc/c-family/ChangeLog:

* c-common.cc (fold_offsetof): Handle REALPART_EXPR
and IMAGPART_EXPR.

gcc/testsuite/ChangeLog:

* gcc.dg/complex-10.c: New test.

Signed-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>
gcc/c-family/c-common.cc
gcc/testsuite/gcc.dg/complex-10.c [new file with mode: 0644]