www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 23692] New: compilable/test22724.i:4:10: error: unknown type

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

          Issue ID: 23692
           Summary: compilable/test22724.i:4:10: error: unknown type name
                    'pack'
           Product: D
           Version: D2
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: major
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: ibuclaw gdcproject.org

When compiling the test with `gcc -std=c11 -fsyntax-only`

compilable/test22724.i:4:10: error: unknown type name ‘pack’
    4 | __pragma(pack(push, 8))
      |          ^~~~
compilable/test22724.i:10:1: warning: return type defaults to ‘int’
[-Wimplicit-int]
   10 | __declspec(noreturn) void abra(void);
      | ^~~~~~~~~~
compilable/test22724.i: In function ‘__declspec’:
compilable/test22724.i:10:1: warning: type of ‘noreturn’ defaults to
‘int’
[-Wimplicit-int]
compilable/test22724.i:10:27: error: declaration for parameter ‘abra’ but no
such parameter
   10 | __declspec(noreturn) void abra(void);
      |                           ^~~~
compilable/test22724.i:11: error: expected ‘{’ at end of input


Original source content:
```
// https://issues.dlang.org/show_bug.cgi?id=22724
//
https://docs.microsoft.com/en-us/cpp/preprocessor/pragma-directives-and-the-pragma-keyword?view=msvc-170

__pragma(pack(push, 8))

typedef unsigned int size_t;

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

__declspec(noreturn) void abra(void);
```

--
Feb 12 2023