[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-buildsystem
Subject:    Re: Review Request 112137: Move the clang compiler definitions to a separate block.
From:       "Alexander Neundorf" <neundorf () kde ! org>
Date:       2013-08-20 19:37:49
Message-ID: 20130820193749.17296.15441 () vidsolbach ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112137/#review38236
-----------------------------------------------------------

Ship it!


If that works for you, no objections from my side.


- Alexander Neundorf


On Aug. 17, 2013, 11:37 p.m., Raphael Kubo da Costa wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/112137/
> -----------------------------------------------------------
> 
> (Updated Aug. 17, 2013, 11:37 p.m.)
> 
> 
> Review request for Build System and Alexander Neundorf.
> 
> 
> Description
> -------
> 
> Sharing compiler settings between GCC and clang does not always work: there
> are flags (such as "-fno-check-new" or "-fno-reorder-blocks") that are
> specific to GCC, and nothing stops these incompatibilities from becoming
> bigger in the future.
> 
> Conversely, a separate clang block allows us to pass some additional flags
> to clang that would have required yet another if() in the GCC block:
> 
> o -fdelayed-template-parsing, needed for clang not to complain when we
> build with exceptions disabled and include code that throws exceptions in
> template code we do not instantiate.
> 
> o -Wno-return-type-c-linkage, needed at least in kdepim because one of its
> plugins exports a function with C linkage that returns a QString.
> 
> Last but not least, checks for bad GCC allocators or support for some flags
> which are always present in clang can be avoided altogether when we know the
> compiler we are using.
> 
> 
> This addresses bug 323579.
> http://bugs.kde.org/show_bug.cgi?id=323579
> 
> 
> Diffs
> -----
> 
> cmake/modules/FindKDE4Internal.cmake 2449bf41785f76061447d48176dd11e9e7190a07 
> 
> Diff: http://git.reviewboard.kde.org/r/112137/diff/
> 
> 
> Testing
> -------
> 
> This is basically the upstreaming of what FreeBSD has been shipping locally for \
> quite a while. I've also been using this to build KDE from git for many months \
> without problems. 
> 
> Thanks,
> 
> Raphael Kubo da Costa
> 
> 


[Attachment #5 (text/html)]

<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;">  <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/112137/">http://git.reviewboard.kde.org/r/112137/</a>
  </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">If that works for you, \
no objections from my side. </pre>
 <br />









<p>- Alexander</p>


<br />
<p>On August 17th, 2013, 11:37 p.m. UTC, Raphael Kubo da Costa wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;">  <tr>
  <td>

<div>Review request for Build System and Alexander Neundorf.</div>
<div>By Raphael Kubo da Costa.</div>


<p style="color: grey;"><i>Updated Aug. 17, 2013, 11:37 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">Sharing compiler settings between GCC and clang does not always work: \
there are flags (such as &quot;-fno-check-new&quot; or \
&quot;-fno-reorder-blocks&quot;) that are specific to GCC, and nothing stops these \
incompatibilities from becoming bigger in the future.

Conversely, a separate clang block allows us to pass some additional flags
to clang that would have required yet another if() in the GCC block:

 o -fdelayed-template-parsing, needed for clang not to complain when we
   build with exceptions disabled and include code that throws exceptions in
   template code we do not instantiate.

 o -Wno-return-type-c-linkage, needed at least in kdepim because one of its
   plugins exports a function with C linkage that returns a QString.

Last but not least, checks for bad GCC allocators or support for some flags
which are always present in clang can be avoided altogether when we know the
compiler we are using.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">This is basically the upstreaming of what FreeBSD has been shipping \
locally for quite a while. I&#39;ve also been using this to build KDE from git for \
many months without problems.</pre>  </td>
 </tr>
</table>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="http://bugs.kde.org/show_bug.cgi?id=323579">323579</a>


</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>cmake/modules/FindKDE4Internal.cmake <span style="color: \
grey">(2449bf41785f76061447d48176dd11e9e7190a07)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/112137/diff/" style="margin-left: \
3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>



_______________________________________________
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic