These were two of the few remaining pages where we still had <a name=...> instead of using ids.
Changed thusly. Gerald Index: codingconventions.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/codingconventions.html,v retrieving revision 1.81 diff -u -r1.81 codingconventions.html --- codingconventions.html 2 Jun 2018 21:16:09 -0000 1.81 +++ codingconventions.html 1 Sep 2018 10:13:50 -0000 @@ -82,7 +82,7 @@ </ul> -<h2><a name="Documentation">Documentation</a></h2> +<h2 id="Documentation">Documentation</h2> <p>Documentation, both of user interfaces and of internals, must be maintained and kept up to date. In particular:</p> @@ -109,7 +109,7 @@ </ul> -<h2><a name="ChangeLogs">ChangeLogs</a></h2> +<h2 id="ChangeLogs">ChangeLogs</h2> <p>GCC requires ChangeLog entries for documentation changes; for the web pages (apart from <code>java/</code> and <code>libstdc++/</code>) the CVS @@ -137,7 +137,7 @@ <code>java/58</code> is the actual number of the PR) at the top of the ChangeLog entry.</p> -<h2><a name="Portability">Portability</a></h2> +<h2 id="Portability">Portability</h2> <p>There are strict requirements for portability of code in GCC to older systems whose compilers do not implement all of the @@ -201,13 +201,13 @@ necessary, to break mutually recursive cycles.</p> -<h2><a name="Makefiles">Makefiles</a></h2> +<h2 id="Makefiles">Makefiles</h2> <p><code>touch</code> should never be used in GCC Makefiles. Instead of <code>touch foo</code> always use <code>$(STAMP) foo</code>.</p> -<h2><a name="Testsuite">Testsuite Conventions</a></h2> +<h2 id="Testsuite">Testsuite Conventions</h2> <p>Every language or library feature, whether standard or a GNU extension, and every warning GCC can give, should have testcases @@ -237,7 +237,7 @@ to the testsuite.</p> -<h2><a name="Diagnostics">Diagnostics Conventions</a></h2> +<h2 id="Diagnostics">Diagnostics Conventions</h2> <ul> <li>Use of the <code>input_location</code> global, and of the @@ -288,7 +288,7 @@ </ul> -<h2><a name="Spelling">Spelling, terminology and markup</a></h2> +<h2 id="Spelling">Spelling, terminology and markup</h2> <p>The following conventions of spelling and terminology apply throughout GCC, including the manuals, web pages, diagnostics, @@ -678,24 +678,24 @@ </ul> -<h2><a name="CandCxx">C and C++ Language Conventions</a></h2> +<h2 id="CandCxx">C and C++ Language Conventions</h2> <p> The following conventions apply to both C and C++. </p> -<h3><a name="C_Options">Compiler Options</a></h3> +<h3 id="C_Options">Compiler Options</h3> <p> The compiler must build cleanly with <code>-Wall -Wextra</code>. </p> -<h3><a name="C_Language">Language Use</a></h3> +<h3 id="C_Language">Language Use</h3> -<h4><a name="Assertions">Assertions</a></h4> +<h4 id="Assertions">Assertions</h4> <p>Code should use <code>gcc_assert (EXPR)</code> to check invariants. Use <code>gcc_unreachable ()</code> to mark places that should never be @@ -711,7 +711,7 @@ by using <code>gcc_checking_assert</code>.</p> -<h4><a name="Character">Character Testing</a></h4> +<h4 id="Character">Character Testing</h4> <p>Code testing properties of characters from user source code should use macros such as <code>ISALPHA</code> from <code>safe-ctype.h</code> @@ -720,7 +720,7 @@ language accepted.</p> -<h4><a name="Error">Error Node Testing</a></h4> +<h4 id="Error">Error Node Testing</h4> <p>Testing for <code>ERROR_MARK</code>s should be done by comparing against <code>error_mark_node</code> rather than by comparing the @@ -728,13 +728,13 @@ href="https://gcc.gnu.org/ml/gcc-patches/2000-10/msg00792.html">message</a>.</p> -<h4><a name="Generated">Parameters Affecting Generated Code</a></h4> +<h4 id="Generated">Parameters Affecting Generated Code</h4> <p>Internal numeric parameters that may affect generated code should be controlled by <code>--param</code> rather than being hardcoded.</p> -<h4><a name="C_Inlining">Inlining Functions</a></h4> +<h4 id="C_Inlining">Inlining Functions</h4> <p> Inlining functions only when @@ -744,15 +744,15 @@ </p> -<h3><a name="C_Formatting">Formatting Conventions</a></h3> +<h3 id="C_Formatting">Formatting Conventions</h3> -<h4><a name="Line">Line Length</a></h4> +<h4 id="Line">Line Length</h4> <p>Lines shall be at most 80 columns.</p> -<h4><a name="C_Names">Names</a></h4> +<h4 id="C_Names">Names</h4> <p> Macros names should be in <code>ALL_CAPS</code> @@ -771,7 +771,7 @@ </p> -<h4><a name="Expressions">Expressions</a></h4> +<h4 id="Expressions">Expressions</h4> <p> Code in GCC should use the following formatting conventions: @@ -802,7 +802,7 @@ </table> -<h2><a name="Cxx_Conventions">C++ Language Conventions</a></h2> +<h2 id="Cxx_Conventions">C++ Language Conventions</h2> <p> The following conventions apply only to C++. @@ -814,7 +814,7 @@ </p> -<h3><a name="Cxx_Language">Language Use</a></h3> +<h3 id="Cxx_Language">Language Use</h3> <p> C++ is a complex language, @@ -834,7 +834,7 @@ component maintainers make the final decisions about those components.) </p> -<h4><a name="Variable">Variable Definitions</a></h4> +<h4 id="Variable">Variable Definitions</h4> <p> Variables should be defined at the point of first use, @@ -853,7 +853,7 @@ </p> -<h4><a name="Struct_Use">Struct Definitions</a></h4> +<h4 id="Struct_Use">Struct Definitions</h4> <p> Use the <code>struct</code> keyword for @@ -865,7 +865,7 @@ <a href="codingrationale.html#struct">Rationale and Discussion</a> </p> -<h4><a name="Class_Use">Class Definitions</a></h4> +<h4 id="Class_Use">Class Definitions</h4> <p> Use the <code>class</code> keyword for @@ -920,7 +920,7 @@ </p> -<h4><a name="Constructors">Constructors and Destructors</a></h4> +<h4 id="Constructors">Constructors and Destructors</h4> <p> All constructors should initialize data members @@ -936,7 +936,7 @@ <a href="codingrationale.html#constructors">Rationale and Discussion</a> </p> -<h4><a name="Conversions">Conversions</a></h4> +<h4 id="Conversions">Conversions</h4> <p> Single argument constructors should nearly always be declared explicit. @@ -951,7 +951,7 @@ </p> -<h4><a name="Over_Func">Overloading Functions</a></h4> +<h4 id="Over_Func">Overloading Functions</h4> <p> Overloading functions is permitted, @@ -965,7 +965,7 @@ </p> -<h4><a name="Over_Oper">Overloading Operators</a></h4> +<h4 id="Over_Oper">Overloading Operators</h4> <p> Overloading operators is permitted, @@ -982,7 +982,7 @@ </p> -<h4><a name="Default">Default Arguments</a></h4> +<h4 id="Default">Default Arguments</h4> <p> Default arguments are another type of function overloading, @@ -996,7 +996,7 @@ </p> -<h4><a name="Cxx_Inlining">Inlining Functions</a></h4> +<h4 id="Cxx_Inlining">Inlining Functions</h4> <p> Constructors and destructors, even those with empty bodies, @@ -1006,7 +1006,7 @@ </p> -<h4><a name="Template_Use">Templates</a></h4> +<h4 id="Template_Use">Templates</h4> <p> To avoid excessive compiler size, @@ -1015,7 +1015,7 @@ </p> -<h4><a name="Namespace_Use">Namespaces</a></h4> +<h4 id="Namespace_Use">Namespaces</h4> <p> Namespaces are encouraged. @@ -1033,7 +1033,7 @@ <a href="codingrationale.html#namespaces">Rationale and Discussion</a> </p> -<h4><a name="RTTI">RTTI and <code>dynamic_cast</code></a></h4> +<h4 id="RTTI">RTTI and <code>dynamic_cast</code></h4> <p> Run-time type information (RTTI) is permitted @@ -1048,7 +1048,7 @@ </p> -<h4><a name="Casts">Other Casts</a></h4> +<h4 id="Casts">Other Casts</h4> <p> C-style casts should not be used. @@ -1060,7 +1060,7 @@ </p> -<h4><a name="Exceptions">Exceptions</a></h4> +<h4 id="Exceptions">Exceptions</h4> <p> Exceptions and throw specifications are not permitted @@ -1072,7 +1072,7 @@ </p> -<h4><a name="Standard_Library">The Standard Library</a></h4> +<h4 id="Standard_Library">The Standard Library</h4> <p> Use of the standard library is permitted. @@ -1095,10 +1095,10 @@ </p> -<h3><a name="Cxx_Formatting">Formatting Conventions</a></h3> +<h3 id="Cxx_Formatting">Formatting Conventions</h3> -<h4><a name="Cxx_Names">Names</a></h4> +<h4 id="Cxx_Names">Names</h4> <p> When structs and/or classes have member functions, @@ -1116,7 +1116,7 @@ </p> -<h4><a name="Struct_Form">Struct Definitions</a></h4> +<h4 id="Struct_Form">Struct Definitions</h4> <p> Note that the rules for classes do not apply to structs. @@ -1124,7 +1124,7 @@ </p> -<h4><a name="Class_Form">Class Definitions</a></h4> +<h4 id="Class_Form">Class Definitions</h4> <p> If the entire class definition fits on a single line, put it on a single line. @@ -1204,7 +1204,7 @@ </code></pre></blockquote> -<h4><a name="Member_Form">Class Member Definitions</a></h4> +<h4 id="Member_Form">Class Member Definitions</h4> <p> Define all members outside the class definition. @@ -1278,7 +1278,7 @@ </code></pre></blockquote> -<h4><a name="Template_Form">Templates</a></h4> +<h4 id="Template_Form">Templates</h4> <p> A declaration following a template parameter list @@ -1291,7 +1291,7 @@ </p> -<h4><a name="ExternC">Extern "C"</a></h4> +<h4 id="ExternC">Extern "C"</h4> <p> Prefer an <code>extern "C"</code> block to a declaration qualifier. @@ -1318,7 +1318,7 @@ Definitions within the body of an <code>extern "C"</code> block are not indented. </p> -<h4><a name="Namespace_Form">Namespaces</a></h4> +<h4 id="Namespace_Form">Namespaces</h4> <p> Open a namespace with the namespace name Index: codingrationale.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/codingrationale.html,v retrieving revision 1.4 diff -u -r1.4 codingrationale.html --- codingrationale.html 2 Jun 2018 21:16:09 -0000 1.4 +++ codingrationale.html 1 Sep 2018 10:13:50 -0000 @@ -26,7 +26,7 @@ <h3>Language Use</h3> -<h4><a name="variables">Variable Definitions</a></h4> +<h4 id="variables">Variable Definitions</h4> <p> Defining variables when they are first needed @@ -49,7 +49,7 @@ </code></pre></blockquote> -<h4><a name="struct">Struct Definitions</a></h4> +<h4 id="struct">Struct Definitions</h4> <p> In the C++ standard, @@ -64,7 +64,7 @@ </p> -<h4><a name="class">Class Definitions</a></h4> +<h4 id="class">Class Definitions</h4> <p> Forgetting to write a special member function is a known programming problem. @@ -131,7 +131,7 @@ </p> -<h4><a name="constructors">Constructors and Destructors</a></h4> +<h4 id="constructors">Constructors and Destructors</h4> <p> The compiler implicitly initializes all non-POD fields. @@ -143,7 +143,7 @@ are almost certainly incorrect. </p> -<h4><a name="conversions">Conversions</a></h4> +<h4 id="conversions">Conversions</h4> <p> C++ uses single-argument constructors for implicit type conversion. @@ -157,7 +157,7 @@ </p> -<h4><a name="overfunc">Overloading Functions</a></h4> +<h4 id="overfunc">Overloading Functions</h4> <p> Function overloading can be confusing. @@ -259,7 +259,7 @@ </p> -<h4><a name="overoper">Overloading Operators</a></h4> +<h4 id="overoper">Overloading Operators</h4> <p> Using <code>[]</code> to index a vector is unsurprising, @@ -268,7 +268,7 @@ </p> -<h4><a name="default">Default Arguments</a></h4> +<h4 id="default">Default Arguments</h4> <p> Expensive default arguments can cause hard-to-identify performance problems. @@ -285,7 +285,7 @@ </p> -<h4><a name="namespace">Namespaces</a></h4> +<h4 id="namespace">Namespaces</h4> <p> Putting <code>using</code> directives @@ -298,14 +298,14 @@ </p> -<h4><a name="RTTI">RTTI and <code>dynamic_cast</code></a></h4> +<h4 id="RTTI">RTTI and <code>dynamic_cast</code></h4> <p> Disabling RTTI will save space in the compiler. </p> -<h4><a name="casts">Other Casts</a></h4> +<h4 id="casts">Other Casts</h4> <p> C++-style casts are very explicit in the intended transformation. @@ -313,7 +313,7 @@ </p> -<h4><a name="exceptions">Exceptions</a></h4> +<h4 id="exceptions">Exceptions</h4> <p> The current compiler code is not exception safe. @@ -338,7 +338,7 @@ or <code>unique_ptr</code> (from C++11). </p> -<h4><a name="stdlib">The Standard Library</a></h4> +<h4 id="stdlib">The Standard Library</h4> <p> At present, C++ provides no great advantage for i18n. @@ -349,7 +349,7 @@ <h3>Formatting Conventions</h3> -<h4><a name="names">Names</a></h4> +<h4 id="names">Names</h4> <p> Prefixing data members with <code>m_</code>