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;

...

Reply via email to