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