mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-11 13:44:28 +00:00
Fixed some formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32392 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0f7c10d7b6
commit
4ad6d61cb7
@ -49,7 +49,7 @@
|
||||
<li><a href="#ll_assert">Assert Liberally</a></li>
|
||||
<li><a href="#ll_ns_std">Do not use 'using namespace std'</a></li>
|
||||
<li><a href="#ll_virtual_anch">Provide a virtual method anchor for
|
||||
clases in headers</a></li>
|
||||
classes in headers</a></li>
|
||||
<li><a href="#ll_preincrement">Prefer Preincrement</a></li>
|
||||
<li><a href="#ll_avoidendl">Avoid <tt>std::endl</tt></a></li>
|
||||
</ol></li>
|
||||
@ -616,42 +616,43 @@ assert(isa<PHINode>(Succ->front()) && "Only works on PHId BBs!"
|
||||
|
||||
<!-- _______________________________________________________________________ -->
|
||||
<div class="doc_subsubsection">
|
||||
<a name="ll_ns_std">Do not use 'using namespace std'</a>
|
||||
<a name="ll_ns_std">Do not use '<tt>using namespace std</tt>'</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
<p>In LLVM, we prefer to explicitly prefix all identifiers from the standard
|
||||
namespace with an "std::" prefix, rather than rely on "using namespace std;".
|
||||
</p>
|
||||
namespace with an "<tt>std::</tt>" prefix, rather than rely on
|
||||
"<tt>using namespace std;</tt>".</p>
|
||||
|
||||
<p> In header files, adding a 'using namespace XXX' directive pollutes the
|
||||
namespace of any source file that includes the header. This is clearly a bad
|
||||
thing.</p>
|
||||
<p> In header files, adding a '<tt>using namespace XXX</tt>' directive pollutes
|
||||
the namespace of any source file that includes the header. This is clearly a
|
||||
bad thing.</p>
|
||||
|
||||
<p>In implementation files (e.g. .cpp files) the rule is more of a stylistic
|
||||
rule, but is still important. Basically, using explicit namespace prefixes
|
||||
makes
|
||||
the code <b>more clear</b> - because it is immediately obvious what facilities
|
||||
are being used and where they are coming from - and <b>more portable</b> -
|
||||
because namespace clashes cannot occur between LLVM code and other namespaces.
|
||||
The portability rule is important because different standard library
|
||||
implementations expose different symbols (potentially ones they shouldn't) and
|
||||
future revisions to the C++ standard will add more symbols to the std
|
||||
namespace. As such, we never 'using namespace std;' in LLVM.</p>
|
||||
<p>In implementation files (e.g. .cpp files), the rule is more of a stylistic
|
||||
rule, but is still important. Basically, using explicit namespace prefixes
|
||||
makes the code <b>clearer</b>, because it is immediately obvious what facilities
|
||||
are being used and where they are coming from, and <b>more portable</b>, because
|
||||
namespace clashes cannot occur between LLVM code and other namespaces. The
|
||||
portability rule is important because different standard library implementations
|
||||
expose different symbols (potentially ones they shouldn't), and future revisions
|
||||
to the C++ standard will add more symbols to the <tt>std</tt> namespace. As
|
||||
such, we never use '<tt>using namespace std;</tt>' in LLVM.</p>
|
||||
|
||||
<p>The exception to the general rule (i.e. it's not an exception for the std
|
||||
namespace) is for implementation files. For example, all of the code in the
|
||||
LLVM project implements code that lives in the 'llvm' namespace. As such, it
|
||||
is ok, and actually more clear, for the .cpp files to have a 'using namespace
|
||||
llvm' directive at their top, after the #includes. The general form of this
|
||||
rule is that any .cpp file that implements code in any namespace may use that
|
||||
namespace (and its parents), but should not use any others.</p>
|
||||
<p>The exception to the general rule (i.e. it's not an exception for
|
||||
the <tt>std</tt> namespace) is for implementation files. For example, all of
|
||||
the code in the LLVM project implements code that lives in the 'llvm' namespace.
|
||||
As such, it is ok, and actually clearer, for the .cpp files to have a '<tt>using
|
||||
namespace llvm</tt>' directive at their top, after the <tt>#include</tt>s. The
|
||||
general form of this rule is that any .cpp file that implements code in any
|
||||
namespace may use that namespace (and its parents'), but should not use any
|
||||
others.</p>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- _______________________________________________________________________ -->
|
||||
<div class="doc_subsubsection">
|
||||
<a name="ll_virtual_anch">Provide a virtual method anchor for clases in headers</a>
|
||||
<a name="ll_virtual_anch">Provide a virtual method anchor for classes
|
||||
in headers</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
|
Loading…
Reference in New Issue
Block a user