BIND 10 #1272: complete fix for clang++/freebsd build error
BIND 10 Development
do-not-reply at isc.org
Thu Sep 29 21:58:01 UTC 2011
#1272: complete fix for clang++/freebsd build error
-------------------------------------+-------------------------------------
Reporter: jinmei | Owner:
Type: defect | UnAssigned
Priority: critical | Status: new
Component: build system | Milestone: Next-
Sensitive: 0 | Sprint-Proposed
Sub-Project: Core | Keywords:
Estimated Difficulty: 0 | Defect Severity: N/A
Total Hours: 0 | Feature Depending on Ticket:
| Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
We need a more complete fix (or at least better workaround) to this
problem:
http://git.bind10.isc.org/~tester/builder/BIND10/20110929194736-FreeBSD8-i386-Clang/logs/build.out
Right now we work around it by disabling some part of the code to compile
(commit 53d45f54e33d23a5b4df42dc977a3a6ab597f5c5). I'm not 100% sure how
exactly that happens, but based on some try-and-error it looks like a
clang++ bug (or its internal failure perhaps due to memory limitation,
etc)
when it tries to compile a large C++ translation unit (in practice, it
means
a large amount of code in a single .cc after expanding all macros and
templates).
I have an idea of a possibly better fix using gtest's "Type-Parameterized
tests" (http://code.google.com/p/googletest/wiki/V1_5_AdvancedGuide#Type-
Parameterized_Tests) instead of typed tests. This way we'd introduce a
new header
file that defines all the test template, and instantiate the actual tests
in separate .cc's for different accessor classes. It will reduce the
amount of the code to compile per translation unit, and hopefully fix
the problem while still enabling all test cases.
This approach would have another advantage: it would be easier to support
other accessor classes as we implement them.
--
Ticket URL: <http://bind10.isc.org/ticket/1272>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list