Thread overview
[Issue 23894] ImportC: _InterlockedExchangeAdd and a ton of other VC intrinsics are not recognized
May 11, 2023
Walter Bright
May 11, 2023
Max Samukha
May 29, 2023
Walter Bright
Jun 03, 2023
Max Samukha
Jun 03, 2023
Max Samukha
Dec 01, 2023
anonymous4
Dec 02, 2023
Walter Bright
Mar 11, 2024
Carl Sturtivant
May 11, 2023
https://issues.dlang.org/show_bug.cgi?id=23894

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com

--- Comment #1 from Walter Bright <bugzilla@digitalmars.com> ---
ImportC doesn't support gcc's inline assembler, either. Is the use of these intrinsics blockable with some macro?

--
May 11, 2023
https://issues.dlang.org/show_bug.cgi?id=23894

--- Comment #2 from Max Samukha <maxsamukha@gmail.com> ---
(In reply to Walter Bright from comment #1)
> Is the use of these intrinsics blockable with some macro?

I don't think so. They are not conditioned on a macro that could be simply
(un)defined (if that's what you meant).

--
May 29, 2023
https://issues.dlang.org/show_bug.cgi?id=23894

--- Comment #3 from Walter Bright <bugzilla@digitalmars.com> ---
Could you please post the section of code in the windows.h you have?

--
June 03, 2023
https://issues.dlang.org/show_bug.cgi?id=23894

--- Comment #4 from Max Samukha <maxsamukha@gmail.com> ---
Created attachment 1878
  --> https://issues.dlang.org/attachment.cgi?id=1878&action=edit
VC intrinsics referenced by windows.h

--
June 03, 2023
https://issues.dlang.org/show_bug.cgi?id=23894

--- Comment #5 from Max Samukha <maxsamukha@gmail.com> ---
(In reply to Walter Bright from comment #3)
> Could you please post the section of code in the windows.h you have?

Please see an isolated test case in the attachment.

--
December 01, 2023
https://issues.dlang.org/show_bug.cgi?id=23894

--- Comment #6 from anonymous4 <dfj1esp02@sneakemail.com> ---
Another problem is

#define GENERIC_READ (0x80000000L)

these are interpreted as helper macros due to parentheses and skipped.

--
December 02, 2023
https://issues.dlang.org/show_bug.cgi?id=23894

--- Comment #7 from Walter Bright <bugzilla@digitalmars.com> ---
(In reply to anonymous4 from comment #6)
> Another problem is
> 
> #define GENERIC_READ (0x80000000L)
> 
> these are interpreted as helper macros due to parentheses and skipped.

This PR should resolve that problem.

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

--
March 11, 2024
https://issues.dlang.org/show_bug.cgi?id=23894

Carl Sturtivant <sturtivant@gmail.com> changed:

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

--- Comment #8 from Carl Sturtivant <sturtivant@gmail.com> ---
Here's a workaround.
https://forum.dlang.org/post/lbvjpwqgcgducgoxwsxe@forum.dlang.org
There's a list of all x64 MSVC intrinsics at the included link with prototypes
with named parameters.

--
December 13
https://issues.dlang.org/show_bug.cgi?id=23894

--- Comment #9 from dlangBugzillaToGithub <robert.schadek@posteo.de> ---
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/dmd/issues/20270

DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB

--