BIND 10 #365: clang++ support

BIND 10 Development do-not-reply at isc.org
Sun Oct 10 03:43:16 UTC 2010


#365: clang++ support
-------------------------------+--------------------------------------------
      Reporter:  jinmei        |        Owner:  UnAssigned           
          Type:  enhancement   |       Status:  reviewing            
      Priority:  major         |    Milestone:  y2 12 month milestone
     Component:  build system  |   Resolution:                       
      Keywords:                |    Sensitive:  0                    
Estimatedhours:  0.0           |        Hours:  0                    
      Billable:  1             |   Totalhours:  0                    
      Internal:  0             |  
-------------------------------+--------------------------------------------
Changes (by jinmei):

  * owner:  jinmei => UnAssigned
  * status:  new => reviewing


Comment:

 branches/trac365 is ready for review.

 Notes:
  - older versions of boost doesn't explicitly support clang++, so I simply
 (and implicitly) required boost >= 1.44.  In order to support build
 environments where two or more versions of boost are available (and only a
 part of them is new enough), I chose to extract the header file
 specification (-I<path_to_boost>) into separate configure/automake
 variables and made sure the specified path is preferred.
  - most of our code was cleanly built with minor adjustments, but ASIO
 triggered a warning that can't be disabled runtime, so I ended up turning
 off -Werror for the part of the code that needs to include ASIO.  I've
 reported this issue on the asio-users ML:
 http://sourceforge.net/mailarchive/forum.php?thread_name=m27hhro1fq.wl%25jinmei%40isc.org&forum_name
 =asio-users  Hopefully a future version of ASIO will fix it.
  - clang++ didn't like the following pattern of tests:
 {{{
     EXPECT_EQ(false, <expression>);
 }}}
  and I had to change these to:
 {{{
     EXPECT_FALSE(<expression>);
 }}}
  I didn't dig into why, but clang++ probably handles "false" in some
 tricky way.  I didn't change the "true" patterns because it didn't trigger
 an error and when we can use EXPECT_EQ it would be better than
 EXPECT_TRUE.

 The proposed changelog entry is as follows:
 {{{
   106.? [build]         jinmei
         Supported clang++.  Note: Boost >= 1.44 is required.
         (Trac #365, svn rTBD)
 }}}

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


More information about the bind10-tickets mailing list