diff --git a/libcxx/utils/libcxx/test/config.py b/libcxx/utils/libcxx/test/config.py --- a/libcxx/utils/libcxx/test/config.py +++ b/libcxx/utils/libcxx/test/config.py @@ -286,12 +286,6 @@ support_path = os.path.join(self.libcxx_src_root, 'test/support') self.cxx.compile_flags += ['-I' + support_path] - # On GCC, the libc++ headers cause errors due to throw() decorators - # on operator new clashing with those from the test suite, so we - # don't enable warnings in system headers on GCC. - if self.cxx.type != 'gcc': - self.cxx.compile_flags += ['-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER'] - # Add includes for the PSTL headers pstl_src_root = self.get_lit_conf('pstl_src_root') pstl_obj_root = self.get_lit_conf('pstl_obj_root') diff --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py --- a/libcxx/utils/libcxx/test/params.py +++ b/libcxx/utils/libcxx/test/params.py @@ -93,9 +93,10 @@ Parameter(name='stdlib', choices=['libc++', 'libstdc++', 'msvc'], type=str, default='libc++', help="The C++ Standard Library implementation being tested.", - actions=lambda stdlib: [ - AddFeature(stdlib) - ]), + actions=lambda stdlib: filter(None, [ + AddFeature(stdlib), + AddCompileFlag('-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER') if stdlib == 'libc++' else None + ])), Parameter(name='enable_warnings', choices=[True, False], type=bool, default=True, help="Whether to enable warnings when compiling the test suite.",