Thread overview
[Issue 24375] ImportC: .di generator outputs C expression with `->` operator
Jul 29
Dlang Bot
Jul 29
Dlang Bot
July 29
https://issues.dlang.org/show_bug.cgi?id=24375

Michael Reese <michaelate@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |michaelate@gmail.com

--- Comment #1 from Michael Reese <michaelate@gmail.com> ---
Created attachment 1916
  --> https://issues.dlang.org/attachment.cgi?id=1916&action=edit
remove generation of '->' in .di files

Should '->' be generated at all in a .di file? It is not a valid D operator and .di should contain only D code.

This patch removes output of '->' from compiler/src/dmd/hdrgen.d which fixes the issue.

--
July 29
https://issues.dlang.org/show_bug.cgi?id=24375

--- Comment #2 from Michael Reese <michaelate@gmail.com> ---
This issue also appears when C-code has macros accessing struct elements via pointer to struct.

C-code:

#define access_ptr(b,y) ((b)->x=(y))


ouptuts:

auto access_ptr(__MP20, __MP21)(__MP20 b, __MP21 y)
{
  return b->x = y; // Doesn't compile. Should be b.x = y
}

--
July 29
https://issues.dlang.org/show_bug.cgi?id=24375

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #3 from Dlang Bot <dlang-bot@dlang.rocks> ---
@dkorpel created dlang/dmd pull request #16757 "Fix bugzilla 24375 - ImportC: .di generator outputs C expression with…" fixing this issue:

- Fix bugzilla 24375 - ImportC: .di generator outputs C expression with `->` operator

https://github.com/dlang/dmd/pull/16757

--
July 29
https://issues.dlang.org/show_bug.cgi?id=24375

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #16757 "Fix bugzilla 24375 - ImportC: .di generator outputs C expression with…" was merged into master:

- a0be561061991d58eddd8ec9f3a63e993363b3b9 by Dennis Korpel:
  Fix bugzilla 24375 - ImportC: .di generator outputs C expression with `->`
operator

https://github.com/dlang/dmd/pull/16757

--