Skip to content

Cannot build with msvc2019 and flag ''/std:c++17" #10

Closed
@fabienfl-orc

Description

Describe the bug
Cannot build with msvc2019 and flag ''/std:c++17". I will submit a pull request very soon.

Got the following error:

...\MSVC\1416~1.270\bin\HostX64\x64\cl.exe /TP -IC:\dfir-orc\external\vcpkg\buildtrees\stx\src\v1.0.1-4b75bce9d4\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP /std:c++17 /D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /D_DEBUG /MTd /Z7 /Ob0 /Od /RTC1 /W4 -std:c++17 /showIncludes /FoCMakeFiles\stx.dir\src\panic\hook.cc.obj /FdCMakeFiles\stx.dir\stx.pdb /FS -c C:\dfir-orc\external\vcpkg\buildtrees\stx\src\v1.0.1-4b75bce9d4\src\panic\hook.cc
cl : Command line warning D9025 : overriding '/W3' with '/W4'
...\include\stx/config.h(245): warning C4067: unexpected tokens following preprocessor directive - expected a newline
...\include\stx/config.h(261): warning C4067: unexpected tokens following preprocessor directive - expected a newline
...\include\stx/config.h(262): fatal error C1189: #error: C++ attribute nodiscard is not available on this compiler. Important unused function results will not raise a warning. Please upgrade to a newer version.
ninja: build stopped: subcommand failed.

Expected behavior
Everything builds correctly without the check made on config.h. The __has_cpp_attribute used below in config.h does not seem to be available.

#if !__has_cpp_attribute(nodiscard)
#error C++ attribute `nodiscard` is not available on this compiler. Important unused function results will not raise a warning. Please upgrade to a newer version.
#endif

#if !__has_cpp_attribute(deprecated)
#error C++ attribute `deprecated` is not available on this compiler. Please upgrade to a newer version.
#endif

#if !__has_cpp_attribute(noreturn)
#error C++ function attribute `noreturn` is not available on this compiler. Please upgrade to a newer version.
#endif

Desktop (please complete the following information):

  • OS: Windows10
  • Visual Studio 2019 (16.6.2)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions