PERFORCE change 172483 for review
Rene Ladan
rene at FreeBSD.org
Sat Jan 2 18:09:07 UTC 2010
http://p4web.freebsd.org/chv.cgi?CH=172483
Change 172483 by rene at rene_self on 2010/01/02 18:08:09
[porters-handbook/clang]
- respect 72 columns
- add c89 to list of programs not to invoke directly
- remove note on -O4, current versions of clang/llvm do the right thing
- remove references to my server, moved to the wiki
Affected files ...
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#65 edit
Differences ...
==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#65 (text+ko) ====
@@ -13666,19 +13666,20 @@
<sect1 id="dads-clang">
<title>Clang: new C/C++ compiler</title>
- <para>A future version of &os; will likely have the Clang C/C++
- compiler as its base compiler. Some modifications to the Ports
- Collection are necessary. In general, these involve
- <quote>generalizing the port</quote> and <quote>making the source
- code portable</quote>. More specifically:</para>
+ <para>A future version of &os; will have the Clang C/C++
+ compiler as its base compiler. Some modifications to the
+ Ports Collection are necessary. In general, these involve
+ <quote>generalizing the port</quote> and <quote>making the
+ source code portable</quote>. More specifically:</para>
<itemizedlist>
<listitem>
- <para>Respect the <makevar>CC</makevar> and <makevar>CXX</makevar>
- variables. Do not use any of the programs <filename>cc</filename>,
- <filename>c99</filename>, <filename>gcc</filename>,
- <filename>c++</filename>, or <filename>g++</filename> in a port
- directly.</para>
+ <para>Respect the <makevar>CC</makevar> and
+ <makevar>CXX</makevar> variables. Do not use any of the
+ programs <filename>cc</filename>,
+ <filename>c89</filename>, <filename>c99</filename>,
+ <filename>gcc</filename>, <filename>c++</filename>, or
+ <filename>g++</filename> in a port directly.</para>
</listitem>
<listitem>
@@ -13687,28 +13688,31 @@
</listitem>
<listitem>
- <para>Do not use <filename>cpp</filename> for reformatting manual
- pages or shell scripts. Try to use something more suitable
- instead, possibly falling back to <makevar>CPP</makevar>.</para>
+ <para>Do not use <filename>cpp</filename> for reformatting
+ manual pages or shell scripts. Try to use something more
+ suitable instead, possibly falling back to
+ <makevar>CPP</makevar>.</para>
<!-- (rene) what about the C++ preprocessor? -->
</listitem>
<listitem>
- <para>Clang uses the gnu99 standard by default, while GCC uses the
- gnu89 standard by default. Therefore, if there are any linker
- errors caused by the different semantics of
- <literal>inline</literal>, compiler errors caused by the use of
- reserved C99 keywords (i.e. restrict) or calls to unimplemented
- ISO C99 math routines try to add <literal>USE_CSTD=gnu89</literal>
- to the port <filename>Makefile</filename>.</para>
+ <para>Clang uses the gnu99 standard by default, while GCC
+ uses the gnu89 standard by default. Therefore, if there
+ are any linker errors caused by the different semantics of
+ <literal>inline</literal>, compiler errors caused by the
+ use of reserved C99 keywords (i.e. restrict) or calls to
+ unimplemented ISO C99 math routines, try to add
+ <literal>USE_CSTD=gnu89</literal> to the port
+ <filename>Makefile</filename>.</para>
</listitem>
<listitem>
- <para>The <literal>-traditional</literal> option is not supported,
- so existing occurrences have to be removed. No consensus has yet
- been reached on ports abusing this option to preserve white space
- in text formatting. Note that the Clang preprocessor does not
- preserve white space.</para>
+ <para>The <literal>-traditional</literal> option is not
+ supported, so existing occurrences have to be removed.
+ No consensus has yet been reached on ports which abuse
+ this option to preserve white space in text formatting.
+ Note that the Clang preprocessor does not preserve white
+ space.</para>
</listitem>
<listitem>
@@ -13725,21 +13729,14 @@
<programlisting>int main(void)</programlisting>
</listitem>
-
- <listitem>
- <para>The maximum usable optimization level is 3. Level 4 is
- reserved for link-time optimization for the Clang backend.</para>
- </listitem>
-
- <!--(rene) -I and -L belong to CONFIGURE_ENV, not to CFLAGS (?)-->
</itemizedlist>
<para>Some temporary hacks that might be used if all else fails:</para>
<itemizedlist>
<listitem>
- <para>Adding <literal>-fheinous-gnu-extensions</literal>. Note
- that this option is already deprecated.</para>
+ <para>Adding <literal>-fheinous-gnu-extensions</literal>.
+ Note that this option is already deprecated.</para>
</listitem>
<listitem>
@@ -13750,15 +13747,6 @@
<literal>-Werror</literal>.</para>
</listitem>
</itemizedlist>
-
- <para>The current patch set can be downloaded from <ulink
- url="http://rene-ladan.nl/clang/patches">a server of rene@</ulink>.
- A <ulink url="http://rene-ladan.nl/clang/patch-tree">customizable
- script</ulink> to automatically update your Tinderbox Ports Tree
- and apply the patches to it is also available. You might also want
- to fetch <ulink url="http://rene-ladan.nl/clang/rm-these-files">the
- list of files to remove</ulink> from there. This list is relative
- to the Tinderbox Ports Tree.</para>
</sect1>
<sect1 id="dads-cc">
More information about the p4-projects
mailing list