[llvm-bugs] [Bug 45919] New: Different AST exposed for functions tagged with __stdcall.

via llvm-bugs llvm-bugs at lists.llvm.org
Wed May 13 19:33:27 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=45919

            Bug ID: 45919
           Summary: Different AST exposed for functions tagged with
                    __stdcall.
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: libclang
          Assignee: unassignedclangbugs at nondot.org
          Reporter: emilio at crisal.io
                CC: klimek at google.com, llvm-bugs at lists.llvm.org,
                    richard-llvm at metafoo.co.uk,
                    unassignedclangbugs at nondot.org
        Depends on: 39705

See https://github.com/rust-lang/rust-bindgen/issues/1778.

For the following function, there's a bunch of CXCursor_ParamDecl:

  typedef
    void
    EVT_VIGEM_X360_NOTIFICATION(
        void* Client,
        void* Target,
        unsigned char LargeMotor,
        unsigned char SmallMotor,
        unsigned char LedNumber,
        void* UserData
    );

  typedef EVT_VIGEM_X360_NOTIFICATION *PFN_VIGEM_X360_NOTIFICATION;

Now add __stdcall:

  typedef
    void __stdcall
    EVT_VIGEM_X360_NOTIFICATION(
        void* Client,
        void* Target,
        unsigned char LargeMotor,
        unsigned char SmallMotor,
        unsigned char LedNumber,
        void* UserData
    );

  typedef EVT_VIGEM_X360_NOTIFICATION *PFN_VIGEM_X360_NOTIFICATION;

And they go missing.


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=39705
[Bug 39705] Multiline doc comments in enums are copied to following variants
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200514/6ce82db9/attachment.html>


More information about the llvm-bugs mailing list