BIND 10 #2340: build failures with newer versions of clang++

BIND 10 Development do-not-reply at isc.org
Tue Oct 9 23:51:58 UTC 2012


#2340: build failures with newer versions of clang++
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  UnAssigned
  jinmei                             |                Status:  new
                       Type:         |             Milestone:
  defect                             |  Sprint-20121023
                   Priority:         |            Resolution:
  medium                             |             Sensitive:  0
                  Component:  build  |           Sub-Project:  DNS
  system                             |  Estimated Difficulty:  3
                   Keywords:         |           Total Hours:  0
            Defect Severity:  N/A    |
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------

Comment (by jinmei):

 trac2340 is ready for review.

 This consists of two sets of independent changes:
 - 23da2f0 and 9ea5133: this suppresses "unused variable" warnings from
   newer versions of clang(++).  I suspect the former might rather be a
   clang bug (it seems to happen only in some template context), but
   we wouldn't like to suppress the entire warning just for this.  I've
   added a comment about why we need this at 28a6c71.
 - c629dec: this is to address the "unused (driver) arguments" problem.
   I made some piggy-back cleanup to unify compiler-specific settings,
   which makes the diff larger than the absolute minimum, but the
   essential change is only this:
 {{{#!diff
 +# Newer versions of clang++ promotes "unused driver arguments" warnings
 to
 +# a fatal error with -Werror, causing build failure.  Since we use
 multiple
 +# compilers on multiple systems, this can easily happen due to settings
 for
 +# non clang++ environments that could be just ignored otherwise.  It can
 also
 +# happen if clang++ is used via ccache.  So, although probably
 suboptimal,
 +# we suppress this particular warning.  Note that it doesn't weaken
 checks
 +# on the source code.
 +if test "$CLANGPP" = "yes"; then
 +       B10_CXXFLAGS="$B10_CXXFLAGS -Qunused-arguments"
 +fi
 }}}

 This is the proposed changelog:
 {{{
 487.?   [build]         jinmei
         Fixed build failure with newer versions of clang++.  These
         versions are stricter regarding "unused variable" and "unused
         (driver) arguments" warnings, and cause fatal build error
         with -Werror.  The affected versions of clang++ include Apple's
         customized version 4.1 included in Xcode 4.5.1.  So this fix
         will solve build errors for Mac OS X that uses newer versions of
         Xcode.
         (Trac #2340, git TBD)
 }}}

-- 
Ticket URL: <http://bind10.isc.org/ticket/2340#comment:2>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list