Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

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`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-windows Operating system: Windows
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants