[Bug 275748] lang/gcc12 lang/gcc12-devel lang/gcc13 lang/gcc13-devel lang/gcc14-devel: fix build without bootstrap
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 13 Dec 2023 15:29:54 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275748 Bug ID: 275748 Summary: lang/gcc12 lang/gcc12-devel lang/gcc13 lang/gcc13-devel lang/gcc14-devel: fix build without bootstrap Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: salvadore@freebsd.org Reporter: dim@FreeBSD.org Flags: maintainer-feedback?(salvadore@freebsd.org) Assignee: salvadore@freebsd.org When more recent gcc ports are built without bootstrap, compiling libcc1 plugins results in errors similar to: In file included from /wrkdirs/share/dim/ports/lang/gcc13/work/gcc-13.2.0/libcc1/libcc1plugin.cc:72: In file included from /usr/include/c++/v1/vector:321: In file included from /usr/include/c++/v1/__format/formatter_bool.h:20: In file included from /usr/include/c++/v1/__format/formatter_integral.h:32: /usr/include/c++/v1/locale:289:36: error: attempt to use a poisoned identifier 289 | __status = (unsigned char*)malloc(__nkw); | ^ /usr/include/c++/v1/locale:1584:28: error: attempt to use a poisoned identifier 1584 | __ob = (char_type*)malloc(2*static_cast<size_t>(__nc)*sizeof(char_type)); | ^ This is because gcc's own system.h header poisons these identifiers, and the libcc1 plugins include <vector> after that. (Note that libstdc++ is not affected because they seem to have implicitly included <vector> already at that point.) Fix it by telling system.h to include <vector> at the correct place, and removing the explicit includes from libcc1plugin.cc and libcp1plugin.cc. -- You are receiving this mail because: You are the assignee for the bug.