https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114133
Gaius Mulley <gaius at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Ever confirmed|0 |1 Last reconfirmed| |2024-02-27 --- Comment #1 from Gaius Mulley <gaius at gcc dot gnu.org> --- The gimple IR looks correct, given the input code: MODULE callingc10 ; FROM cvararg IMPORT funcptr ; FROM SYSTEM IMPORT ADR ; BEGIN IF funcptr (1, "hello", 5) = 1 THEN END ; IF funcptr (1, "hello" + " ", 6) = 1 THEN END ; IF funcptr (1, "hello" + " " + "world", 11) = 1 THEN END END callingc10. $ gm2 -g callingc10.mod -c -fdump-ipa-all $ cat callingc10.mod.095i.comdats ... PROC _M2_callingc10_init (INTEGER argc, PROC * argv, PROC * envp) { INTEGER D.670; INTEGER D.669; INTEGER D.668; PROC * _T34.0_1; INTEGER _2; INTEGER _T35.1_3; PROC * _T36.2_4; INTEGER _5; INTEGER _T37.3_6; PROC * _T38.4_7; INTEGER _8; INTEGER _12; INTEGER _16; INTEGER _20; <bb 2> : _T34 = "hello"; _T34.0_1 = _T34; _12 = funcptr (1, _T34.0_1, 5); _2 = _12; _T35 = _2; _T35.1_3 = _T35; ...