[Issue 21934] importC: Support asm labels to specify the assembler name to use for a C symbol

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu May 20 19:42:44 UTC 2021


https://issues.dlang.org/show_bug.cgi?id=21934

aminya <aminyahyaabadi74 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aminyahyaabadi74 at gmail.com

--- Comment #3 from aminya <aminyahyaabadi74 at gmail.com> ---
I wanted to add more examples that don't work with importC. These snippets are
generated by gcc (mingw)

Error: `=`, `;` or `,` expected
```
extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) void
    __attribute__((__cdecl__)) __debugbreak(void) {
  __asm__ __volatile__("int {$}3" :);
}
```

Error: `=`, `;` or `,` expected
```
errno_t __attribute__((__cdecl__)) _get_errno(int *_Value);
```

Error: `=`, `;` or `,` expected
```
typedef struct {
  long long __max_align_ll __attribute__((__aligned__(__alignof__(long
long))));
  long double __max_align_ld
      __attribute__((__aligned__(__alignof__(long double))));
# 427
"c:\\lib\\mingw\\tools\\install\\mingw64\\lib\\gcc\\x86_64-w64-mingw32\\10.2.0\\include\\stddef.h"
3 4
} max_align_t;
# 33
"c:\\lib\\mingw\\tools\\install\\mingw64\\x86_64-w64-mingw32\\include\\stdint.h"
2 3 4
```


Error: illegal combination of type specifiers
```
__extension__ typedef long long __time64_t;
__extension__ typedef long long int64_t;
__extension__ typedef unsigned long long uint64_t;
__extension__ typedef long long int_least64_t;
__extension__ typedef unsigned long long uint_least64_t;
__extension__ typedef long long int_fast64_t;
__extension__ typedef unsigned long long uint_fast64_t;
```

--


More information about the Digitalmars-d-bugs mailing list