Opened 8 years ago

Closed 7 years ago

#1272 closed defect (duplicate)

complete fix for clang++/freebsd build error

Reported by: jinmei Owned by: UnAssigned
Priority: medium Milestone:
Component: build system Version:
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: Core Feature Depending on Ticket:
Estimated Difficulty: 5 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description

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.

Subtickets

Change History (7)

comment:1 Changed 8 years ago by jelte

  • Milestone changed from Next-Sprint-Proposed to Sprint-20111025

comment:2 Changed 8 years ago by jinmei

  • Priority changed from critical to major

comment:3 Changed 8 years ago by jelte

  • Estimated Difficulty changed from 0 to 5

comment:4 Changed 8 years ago by jelte

  • Milestone changed from Sprint-20111025 to Year 3 Task Backlog

comment:5 Changed 8 years ago by jinmei

  • Milestone changed from Year 3 Task Backlog to Next-Sprint-Proposed

comment:6 Changed 7 years ago by jinmei

  • Milestone set to Next-Sprint-Proposed

comment:7 Changed 7 years ago by jinmei

  • Resolution set to duplicate
  • Status changed from new to closed

#2679 should have made this resolved. Closing.

Note: See TracTickets for help on using tickets.