Skip to content

Ignore unknown pragma warnings with MSVC #6885

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

Merged
merged 1 commit into from
Jan 18, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions cmake/modules/SwiftSharedCMakeConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,11 @@ macro(swift_common_cxx_warnings)
# Check for '-fapplication-extension'. On OS X/iOS we wish to link all
# dynamic libraries with this flag.
check_cxx_compiler_flag("-fapplication-extension" CXX_SUPPORTS_FAPPLICATION_EXTENSION)

# Disable C4068: unknown pragma. This means that MSVC doesn't report hundreds of warnings across
# the repository for IDE features such as #pragma mark "Title".
check_cxx_compiler_flag("/wd4068" CXX_SUPPORTS_UNKNOWN_PRAGMA_FLAG)
append_if(CXX_SUPPORTS_UNKNOWN_PRAGMA_FLAG "/wd4068" CMAKE_CXX_FLAGS)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I am having issue with this argument when I build on Mac OS X; it seems to be triggering for me (https://bugs.swift.org/browse/SR-3952) I presume this change was intended to be a MSVC only thing? Should this somehow be gated by a platform guard or perhaps be of the -wd4068 format?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think someone from our team was hitting this too and blowing away the CMakeCache.txt file in the Swift build directory fixed it. But maybe I'm misremembering.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I blew away my entire build directory after this failure and still was having issues: the fix I had was to comment out these two lines and do a full clean re-build.

endmacro()

# Like 'llvm_config()', but uses libraries from the selected build
Expand Down