svn commit: r334647 - in head: . . . [this broke ci.freebsd.org's FreeBSD-head-amd64-gcc build but via an include/c++/v1/ problem]

Mark Millard marklmi at yahoo.com
Tue Jun 5 19:22:34 UTC 2018


On 2018-Jun-5, at 10:49 AM, Dimitry Andric <dim at FreeBSD.org> wrote:

> On 5 Jun 2018, at 15:03, Mark Millard via freebsd-toolchain <freebsd-toolchain at freebsd.org> wrote:
>> 
>> https://ci.freebsd.org/job/FreeBSD-head-amd64-gcc/5974/consoleText shows:
>> 
>> --- all_subdir_usr.sbin/pmc ---
>> In file included from /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/ios:216:0,
>>                from /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/iostream:38,
>>                from /workspace/src/usr.sbin/pmc/cmd_pmc_filter.cc:71:
>> /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/__locale: At global scope:
>> /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/__locale:1237:40: error: redundant redeclaration of 'void std::__1::__throw_runtime_error(const char*)' in same scope [-Werror=redundant-decls]
>> _LIBCPP_NORETURN _LIBCPP_FUNC_VIS void __throw_runtime_error(const char*);
>>                                       ^~~~~~~~~~~~~~~~~~~~~
>> In file included from /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/memory:663:0,
>>                from /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/algorithm:643,
>>                from /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/__string:56,
>>                from /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/string_view:176,
>>                from /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/string:477,
>>                from /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/__locale:15,
>>                from /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/ios:216,
>>                from /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/iostream:38,
>>                from /workspace/src/usr.sbin/pmc/cmd_pmc_filter.cc:71:
>> /workspace/obj/workspace/src/amd64.amd64/tmp/usr/include/c++/v1/stdexcept:186:40: note: previous declaration of 'void std::__1::__throw_runtime_error(const char*)'
>> _LIBCPP_NORETURN _LIBCPP_FUNC_VIS void __throw_runtime_error(const char*);
>>                                       ^~~~~~~~~~~~~~~~~~~~~
>> 
>> 
>> It looks like the new #include of iostream brings in code that gcc rejected above:
>> 
>> --- head/usr.sbin/pmc/cmd_pmc_filter.c	Mon Jun  4 23:17:18 2018	(r334645, copy source)
>> +++ head/usr.sbin/pmc/cmd_pmc_filter.cc	Tue Jun  5 04:26:40 2018	(r334647)
>> @@ -68,11 +68,22 @@ __FBSDID("$FreeBSD$");
>> #include <libpmcstat.h>
>> #include "cmd_pmc.h"
>> 
>> +#include <iostream>
>> . . .
> 
> I don't think anybody has yet tested building libc++ headers with the
> combination of recent gcc, -Wsystem-headers, and -Werror. :)
> 
> For now, try disabling -Wredundant-decls.
> 

ci.freebsd.org 's FreeBSD-head-amd64-gcc #5973 ( -r334645 ) is
the last build that worked. #5973 ( -r334647 ) is the first that
failed.

Maybe pmc forces -Werror and/or -Wredundant-decls since its new
use of include <iostream> is what seems to matter for the failure.

But, prior to that additional include, FreeBSD-head-amd64-gcc was
building fine on ci.freebsd.org .


(I have no control over ci.freebsd.org builds, which is the
context I reported the problem for.)



===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-toolchain mailing list