Skip to content

conflicting types build failure on mingw-w64 32bit #10327

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
klutzy opened this issue Nov 7, 2013 · 4 comments · Fixed by #10346
Closed

conflicting types build failure on mingw-w64 32bit #10327

klutzy opened this issue Nov 7, 2013 · 4 comments · Fixed by #10346
Labels
O-windows Operating system: Windows

Comments

@klutzy
Copy link
Contributor

klutzy commented Nov 7, 2013

/path/to/rust/src/etc/mingw-fix-include/winsock2.h:10:3: error: conflicting types for 'WSAPOLLFD'

Latest mingw has broken headers (#9246) therefore #9254 added missing definitions locally. This causes error on mingw-w64 since its header is not broken. :(

cc @vadimcn

@klutzy
Copy link
Contributor Author

klutzy commented Nov 7, 2013

Quick fix is adding #if defined(__MINGW_MAJOR _VERSION) && __MINGW_MAJOR _VERSION == 4 at winsock2.h. mingw-w64 doesn't define them, defines __MINGW64_VERSION_{MAJOR, MINOR} instead.

I think we should prepare a plan when mingw also fixes it. (They already fixed third one of #9246 on w32api-4.0.3.)
However, seems like mingw doesn't increment __MINGW_PATCHLEVEL: both 4.0.0-1 and 4.0.3 have value 0.

@vadimcn
Copy link
Contributor

vadimcn commented Nov 7, 2013

@klutzy: mingw-w64 gets its' own section in platform.mk, doesn't it? So adding mingw-fix-include to include path in rt.mk can be conditioned on some macro defined there.

As for mingw fixing their headers, I think we can just remove fixed headers from mingw-fix-include when that happens.

@klutzy
Copy link
Contributor Author

klutzy commented Nov 7, 2013

@vadimcn I'm building rust on mingw-w64-32bit but rust thinks it is on mingw. I'm not sure this is "legal", but I don't want to cross-build from mingw to mingw-w64-32bit since their difference is small.

@klutzy
Copy link
Contributor Author

klutzy commented Nov 8, 2013

platform.mk has three mingw entries: i686-pc-mingw32 (normal mingw), i586-mingw32msvc (anyone who know this?), and x86_64-w64-mingw32 (mingw-w64 64bit).
We don't have i686-w64-mingw32 (mingw-w64 32-bit). I don't know if it is good idea of adding it, so quick fix seems sufficient for now.

@bors bors closed this as completed in d01ba2e Nov 8, 2013
flip1995 pushed a commit to flip1995/rust that referenced this issue Jun 30, 2023
…rednet

[`match_same_arms`]: don't lint if `non_exhaustive_omitted_patterns`

Fixes rust-lang#10327

changelog: [`match_same_arms`]: Don't lint if `non_exhaustive_omitted_patterns` is `warn` or `deny`
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
O-windows Operating system: Windows
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants