From 884882501cb295a887bea52ad0c2f001f2e7fce7 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Fri, 23 Oct 2020 08:12:47 +0900 Subject: [PATCH] libcxx: Disable -Wshadow for barrier.cpp This might be specific to gcc or Linux as I didn't see it with clang + macOS. libcxx/src/barrier.cpp: In constructor 'std::__1::__barrier_algorithm_base::__barrier_algorithm_base(ptrdiff_t&)': libcxx/src/barrier.cpp:35:9: warning: declaration of '__expected' shadows a member of 'std::__1::__barrier_algorithm_base' [-Wshadow] 35 | : __expected(__expected) | ^ libcxx/src/barrier.cpp:29:24: note: shadowed declaration is here 29 | ptrdiff_t& __expected; | ^~~~~~~~~~ libcxx/src/barrier.cpp: In constructor 'std::__1::__barrier_algorithm_base::__barrier_algorithm_base(ptrdiff_t&)': libcxx/src/barrier.cpp:44:5: warning: declaration of '__expected' shadows a member of 'std::__1::__barrier_algorithm_base' [-Wshadow] 44 | } | ^ libcxx/src/barrier.cpp:29:24: note: shadowed declaration is here 29 | ptrdiff_t& __expected; | ^~~~~~~~~~ libcxx/src/barrier.cpp: In constructor 'std::__1::__barrier_algorithm_base::__barrier_algorithm_base(ptrdiff_t&)': libcxx/src/barrier.cpp:44:5: warning: declaration of '__expected' shadows a member of 'std::__1::__barrier_algorithm_base' [-Wshadow] 44 | } | ^ libcxx/src/barrier.cpp:29:24: note: shadowed declaration is here 29 | ptrdiff_t& __expected; | ^~~~~~~~~~ CXX: libcxx/src/new.cpp In file included from libcxx/src/new.cpp:19: /usr/include/c++/9/cxxabi.h: In member function 'virtual bool __cxxabiv1::__pbase_type_info::__pointer_catch(const __cxxabiv1::__pbase_type_info*, void**, unsigned int) const': /usr/include/c++/9/cxxabi.h:308:23: error: 'const class std::type_info' has no member named '__do_catch' 308 | return __pointee->__do_catch (thrown_type->__pointee, thr_obj, outer + 2); | ^~~~~~~~~~ --- libs/libxx/libcxx.defs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libs/libxx/libcxx.defs b/libs/libxx/libcxx.defs index 13a8450e7c..9bcd74eea1 100644 --- a/libs/libxx/libcxx.defs +++ b/libs/libxx/libcxx.defs @@ -46,6 +46,17 @@ distclean:: CXXFLAGS += ${shell $(DEFINE) "$(CC)" __GLIBCXX__} CXXFLAGS += ${shell $(DEFINE) "$(CC)" _LIBCPP_BUILDING_LIBRARY} +# Workaround the following warning with "c++ (Ubuntu 9.3.0-10ubuntu2) 9.3.0" +# +# libcxx/src/barrier.cpp: In constructor 'std::__1::__barrier_algorithm_base::__barrier_algorithm_base(ptrdiff_t&)': +# libcxx/src/barrier.cpp:35:9: warning: declaration of '__expected' shadows a member of 'std::__1::__barrier_algorithm_base' [-Wshadow] +# 35 | : __expected(__expected) +# | ^ +# libcxx/src/barrier.cpp:29:24: note: shadowed declaration is here +# 29 | ptrdiff_t& __expected; +# | ^~~~~~~~~~ +libcxx/src/barrier.cpp_CXXFLAGS += -Wno-shadow + CPPSRCS += $(notdir $(wildcard libcxx/src/*.cpp)) CPPSRCS += $(notdir $(wildcard libcxx/src/experimental/*.cpp)) CPPSRCS += $(notdir $(wildcard libcxx/src/filesystem/*.cpp))