-
Notifications
You must be signed in to change notification settings - Fork 234
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
Win32 compile errors #8
Comments
Note from another Win32 user: the warnings only occur in Debug builds as far as I know. In Release builds, once the optimiser kicks in, it understands that the buffers aren’t actually used at all, and the warnings disappear. If you’re trying to build PEGTL with Visual Studio 2013, I believe it’s basically hopeless. There is no way VS2013 can understand the code. From my last attempts, here are the necessary features that are missing: nullptr, constructor inheritance, deleted default members, SFINAE based on decltype, templated "using", template template parameters. If you are using Visual Studio 2015, the code should compile just fine. I have a forked repository with a |
Assuming that Sam's post explains what's going on I'm closing this issue; we are however following up on this and will send a bug report in the direction of MS regarding the wrong warning. The new PEGTL will never work on VS2013, but we are interested in VS2015 compatibility, and thanks to previous help and feedback from Sam it does actually work now. |
Thanks for the explanation. If it wasn't a big deal, it would be nice not to have to rely on newer C++ features but I appreciate that there is a tradeoff and working around missing features can be pretty tedious. |
In order to report to problem towards Microsoft: Could you please check if the following program produces the same warning in Debug-mode? And if it can be reduced further? TIA!
|
Hi, great to see the new project structure & hosting! Have you any interest in making pegtl work on win32? Here's a quick sample of some of the issues I found:
Warnings:
Most other issues seem to be related to partial c++11 support.
11>s:\source\pegtl\pegtl\internal\rule_conjunction.hh(21): warning C4789: buffer '' of size 4 bytes will be overrun; 1 bytes will be written starting at offset 4
11>s:\source\pegtl\pegtl\internal\rule_conjunction.hh(21): warning C4789: buffer '' of size 4 bytes will be overrun; 1 bytes will be written starting at offset 5
11>s:\source\pegtl\pegtl\internal\sor.hh(26): warning C4789: buffer '' of size 4 bytes will be overrun; 1 bytes will be written starting at offset 4
11>s:\source\pegtl\pegtl\internal\sor.hh(26): warning C4789: buffer '' of size 4 bytes will be overrun; 1 bytes will be written starting at offset 4
11>s:\source\pegtl\pegtl\internal\rule_conjunction.hh(21): warning C4789: buffer '' of size 4 bytes will be overrun; 1 bytes will be written starting at offset 4
11>s:\source\pegtl\pegtl\internal\rule_conjunction.hh(21): warning C4789: buffer '' of size 4 bytes will be overrun; 1 bytes will be written starting at offset 5
11>s:\source\pegtl\pegtl\internal\rule_conjunction.hh(21): warning C4789: buffer '' of size 4 bytes will be overrun; 1 bytes will be written starting at offset 6
The text was updated successfully, but these errors were encountered: