-
Notifications
You must be signed in to change notification settings - Fork 131
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
fix some syntax errors when compiling via msbuild 2019 compiler toolchain #763
base: master
Are you sure you want to change the base?
Conversation
Update: Included more fixes, this time for linker warnings/errors also encountered when building DLL for Windows, via MSVC 2019. Linker errors all appear to be legitimate type mismatches, though in the context of operation are fortunately harmless. Especially interesting is the The size of
|
Where did you read that Note that by changing As for your C/C++ bool compat, what about using the C99 |
The note about the change in size from 32 to 64 bit is fair criticism. This would be a problem in debug builds at least - compilers will optimize the c;lamp operation into the liveness of the inputs in any case where function inlining is supported, so performance generally should be unaffected. More to your point though - it's not even assured that or use
(honestly even using anything other than |
Ok, good to know about As far as I know the implementation details of the C99 |
I swapped in I haven't found a suitable replacement for In any case, there is no such thing as a platform defined type in C/C++. Things are either language defined or undefined. Compilers can choose to follow platform guidelines in cases where the language leaves something undefined but that's about it. And as for The |
@jstine35 MSVC will happily accept the |
* Replace C bool macro with _Bool compiler type * C99 _Bool and C++ bool are considered matching types by the compiler
... and as a rule of thumb, always favor signed int unless there is specific reason to use unsigned (normally limited to situations where full 4GB unsigned range is required during comparison operation)
Ah, yes, it seems |
Notable change is replacing non-standard
ssize_t
with standardintmax_t
(typicallysize_t
is being depreciated in favor ofintmax_t
)Everything else is pretty vanilla Win32 / msvc maintenance, very low risk of unwanted side effects.