mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-23 17:29:19 +00:00
Add some advice
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29324 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
825405c0c1
commit
6883a88fdb
@ -44,10 +44,11 @@
|
||||
</ol></li>
|
||||
<li><a href="#micro">The Low Level Issues</a>
|
||||
<ol>
|
||||
<li><a href="#hl_assert">Assert Liberally</a></li>
|
||||
<li><a href="#hl_ns_std">Do not use 'using namespace std'</a></li>
|
||||
<li><a href="#hl_preincrement">Prefer Preincrement</a></li>
|
||||
<li><a href="#hl_avoidendl">Avoid <tt>std::endl</tt></a></li>
|
||||
<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>
|
||||
<li><a href="#ll_preincrement">Prefer Preincrement</a></li>
|
||||
<li><a href="#ll_avoidendl">Avoid <tt>std::endl</tt></a></li>
|
||||
</ol></li>
|
||||
</ol></li>
|
||||
<li><a href="#seealso">See Also</a></li>
|
||||
@ -489,7 +490,7 @@ class itself... just make them private (or protected), and all is well.</p>
|
||||
|
||||
<!-- _______________________________________________________________________ -->
|
||||
<div class="doc_subsubsection">
|
||||
<a name="hl_assert">Assert Liberally</a>
|
||||
<a name="ll_assert">Assert Liberally</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
@ -537,7 +538,7 @@ assert(isa<PHINode>(Succ->front()) && "Only works on PHId BBs!"
|
||||
|
||||
<!-- _______________________________________________________________________ -->
|
||||
<div class="doc_subsubsection">
|
||||
<a name="hl_ns_std">Do not use 'using namespace std'</a>
|
||||
<a name="ll_ns_std">Do not use 'using namespace std'</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
@ -572,7 +573,24 @@ namespace (and its parents), but should not use any others.</p>
|
||||
|
||||
<!-- _______________________________________________________________________ -->
|
||||
<div class="doc_subsubsection">
|
||||
<a name="hl_preincrement">Prefer Preincrement</a>
|
||||
<a name="ll_virtual_anch">Provide a virtual method anchor for clases in headers</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
|
||||
<p>If a class is defined in a header file and has a v-table (either it has
|
||||
virtual methods or it derives from classes with virtual methods), it must
|
||||
always have at least one out-of-line virtual method in the class. Without
|
||||
this, the compiler will copy the vtable and RTTI into every .o file that
|
||||
#includes the header, bloating .o file sizes and increasing link times.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- _______________________________________________________________________ -->
|
||||
<div class="doc_subsubsection">
|
||||
<a name="ll_preincrement">Prefer Preincrement</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
@ -592,7 +610,7 @@ get in the habit of always using preincrement, and you won't have a problem.</p>
|
||||
|
||||
<!-- _______________________________________________________________________ -->
|
||||
<div class="doc_subsubsection">
|
||||
<a name="hl_avoidendl">Avoid <tt>std::endl</tt></a>
|
||||
<a name="ll_avoidendl">Avoid <tt>std::endl</tt></a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
|
Loading…
Reference in New Issue
Block a user