Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.

Commit 335a2eb

Browse files
committed
Disable GCC's -Woverloaded-virtual in the configure+make build. Clang's is better.
Turns out Clang's -Woverloaded-virtual is enabled by -Wall in both CMake and Configure builds. We were only explicitly specifying it (thus enabling GCC's version of the warning) in the Configure build. The specific case of interest is: struct base { virtual void func(); virtual void func(int); }; struct derived: base { virtual void func(); // GCC warns here, because this causes // func(int) to be hidden }; I don't think that's worth getting fussed about (& Clang (indirectly me... since I improved this warning in Clang) agrees or we would've made the warning catch these cases. Technically this could still lead to bugs/confusion if base had func(int) and func(bool), derived overrode func(bool) and then a caller with a derived object tried to call func(42) - it would silently call func(bool). We should probably improve clang's warnings to catch this at the call site at some point. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218059 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent e08e525 commit 335a2eb

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

Makefile.rules

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,6 @@ ifeq ($(HOST_OS),MingW)
449449
endif
450450
endif
451451

452-
CXX.Flags += -Woverloaded-virtual
453452
CPP.BaseFlags += $(CPP.Defines)
454453
AR.Flags := cru
455454

0 commit comments

Comments
 (0)