[PATCH] D56329: Fix some warnings on MSVC
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 23 11:10:54 PST 2019
rnk added inline comments.
================
Comment at: utils/unittest/googlemock/include/gmock/gmock-matchers.h:145-148
+ // Define virtual destructor to avoid the following MSVC warning:
+ // warning C5046: 'testing::MatcherInterface<T>::~MatcherInterface':
+ // Symbol involving type with internal linkage not defined
+ virtual ~MatcherInterface() {}
----------------
aganea wrote:
> rnk wrote:
> > C5046 seems like some kind of undocumented warning:
> > https://developercommunity.visualstudio.com/content/problem/288509/undocumented-warning-c5046-symbol-involving-type-w.html
> >
> > Maybe it will go away in new versions of VS if we do nothing? I don't see anything wrong with this code. It has an implicit virtual destructor because its base class has one.
> >
> > I guess I'd like to hear more about how this comes up in practice before applying this change, especially since it's imported gmock code.
> Yeah it's a warning that came up in the last months, since one of the VS2017 15.8.XX upgrades. The warning I'm seeing is this:
> ```
> 46>f:\svn\llvm\utils\unittest\googlemock\include\gmock\gmock-matchers.h(186): warning C5046: 'testing::MatcherInterface<T>::~MatcherInterface': Symbol involving type with internal linkage not defined
> 46> with
> 46> [
> 46> T=`anonymous-namespace'::CustomSubError &
> 46> ] (compiling source file F:\svn\llvm\unittests\Support\ErrorTest.cpp)
> ```
> You're probably right, it's most likely a spurious warning. For a similar example, your linked webpage says:
>
> > Jonathan Emmett [MSFT]
> > Thanks for this example. This is indeed a false-positive and we have a fix for this particular issue related to special member functions. It will be addressed in Visual Studio 2019.
>
> Maybe add `-ignore:5046` for `ErrorTest.cpp` in the meanwhile?
Sounds reasonable.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D56329/new/
https://reviews.llvm.org/D56329
More information about the llvm-commits
mailing list