diff options
36 files changed, 412 insertions, 387 deletions
diff --git a/docs/AddressSanitizer.html b/docs/AddressSanitizer.html index 3b25f26fec..d72776319c 100644 --- a/docs/AddressSanitizer.html +++ b/docs/AddressSanitizer.html @@ -45,7 +45,7 @@ Typical slowdown introduced by AddressSanitizer is <b>2x</b>. <h2 id="howtobuild">How to build</h2> Follow the <a href="../get_started.html">clang build instructions</a>. -<h2 id="intro">Usage</h2> +<h2 id="usage">Usage</h2> Simply compile and link your program with <tt>-faddress-sanitizer</tt> flag. <BR> To get a reasonable performance add <tt>-O1</tt> or higher. <BR> To get nicer stack traces in error messages add @@ -93,7 +93,7 @@ AddressSanitizer is enabled. <a href="LanguageExtensions.html#__has_feature_extension">__has_feature</a> can be used for this purpose. <pre> -#if defined(__has_feature) && __has_feature(address_sanitizer) +#if defined(__has_feature) && __has_feature(address_sanitizer) code that runs only under AddressSanitizer #else code that does not run under AddressSanitizer diff --git a/docs/AnalyzerRegions.html b/docs/AnalyzerRegions.html index 35708d57c9..f9d3337920 100644 --- a/docs/AnalyzerRegions.html +++ b/docs/AnalyzerRegions.html @@ -1,3 +1,5 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Static Analyzer Design Document: Memory Regions</title> @@ -59,7 +61,7 @@ of structures) then the StoreManager can simply return 'unknown' (represented by concerns not only isolates the core analysis engine from the details of reasoning about program memory but also facilities the option of a client of the path-sensitive engine to easily swap in different StoreManager implementations -that internally reason about program memory in very different ways.</pp> +that internally reason about program memory in very different ways.</p> <p>The rest of this document is divided into two parts. We first discuss region taxonomy and the semantics of regions. We then discuss the StoreManager @@ -102,7 +104,7 @@ typedef struct s my_type; void *p; int *q = (int*) p; char *r = (char*) p; -</pre +</pre> <p>Thus we need to canonicalize the MemRegion which is used in binding and retrieving.</p> diff --git a/docs/AutomaticReferenceCounting.html b/docs/AutomaticReferenceCounting.html index 27d017c317..74506b04b1 100644 --- a/docs/AutomaticReferenceCounting.html +++ b/docs/AutomaticReferenceCounting.html @@ -1,8 +1,10 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Objective-C Automatic Reference Counting (ARC)</title> -<link type="text/css" rel="stylesheet" href="../menu.css" /> -<link type="text/css" rel="stylesheet" href="../content.css" /> +<link type="text/css" rel="stylesheet" href="../menu.css"> +<link type="text/css" rel="stylesheet" href="../content.css"> <style type="text/css"> /* Collapse the items in the ToC to the left. */ div#toc ul { @@ -26,7 +28,7 @@ div div div div h1 { margin: 1.12em 0 } span.term { font-style: italic; font-weight: bold } </style> -<script lang="javascript"> +<script type="text/javascript"> /// A little script to recursively build a table of contents. function buildTOC(div, toc, ancestry) { var children = div.childNodes; @@ -739,7 +741,7 @@ semantics as the respective operation would have on an <tt>void*</tt> lvalue with the same alignment and non-ownership qualification.</p> <p><span class="term">Reading</span> occurs when performing a -lvalue-to-rvalue conversion on an object lvalue. +lvalue-to-rvalue conversion on an object lvalue.</p> <ul> <li>For <tt>__weak</tt> objects, the current pointee is retained and @@ -749,10 +751,9 @@ release of the pointee.</li> <li>For all other objects, the lvalue is loaded with primitive semantics.</li> </ul> -</p> <p><span class="term">Assignment</span> occurs when evaluating -an assignment operator. The semantics vary based on the qualification: +an assignment operator. The semantics vary based on the qualification:</p> <ul> <li>For <tt>__strong</tt> objects, the new pointee is first retained; second, the lvalue is loaded with primitive semantics; third, the new @@ -771,11 +772,10 @@ stored into the lvalue using primitive semantics.</li> <li>For <tt>__autoreleasing</tt> objects, the new pointee is retained, autoreleased, and stored into the lvalue using primitive semantics.</li> </ul> -</p> <p><span class="term">Initialization</span> occurs when an object's lifetime begins, which depends on its storage duration. -Initialization proceeds in two stages: +Initialization proceeds in two stages:</p> <ol> <li>First, a null pointer is stored into the lvalue using primitive semantics. This step is skipped if the object @@ -784,7 +784,6 @@ is <tt>__unsafe_unretained</tt>.</li> evaluated and then assigned into the object using the usual assignment semantics.</li> </ol> -</p> <p><span class="term">Destruction</span> occurs when an object's lifetime ends. In all cases it is semantically equivalent to @@ -863,7 +862,7 @@ is left.</p> <p>A program is ill-formed if an expression of type <tt>T*</tt> is converted, explicitly or implicitly, to the type <tt>U*</tt>, where <tt>T</tt> and <tt>U</tt> have different ownership -qualification, unless: +qualification, unless:</p> <ul> <li><tt>T</tt> is qualified with <tt>__strong</tt>, <tt>__autoreleasing</tt>, or <tt>__unsafe_unretained</tt>, and @@ -876,9 +875,8 @@ qualification, unless: <li>the conversion is a well-formed <a href="#ownership.restrictions.pass_by_writeback">pass-by-writeback</a>.</li> </ul> -</p> -<p>The analogous rule applies to <tt>T&</tt> and <tt>U&</tt> in +<p>The analogous rule applies to <tt>T&</tt> and <tt>U&</tt> in Objective-C++.</p> <div class="rationale"><p>Rationale: these rules provide a reasonable @@ -933,7 +931,7 @@ where <tt>oq</tt> is an ownership qualifier, then the argument is a candidate for <span class="term">pass-by-writeback</span> if:</p> <ul> -<li><tt>oq</tt> is <tt>__strong</tt> or <tt>__weak</tt>, and +<li><tt>oq</tt> is <tt>__strong</tt> or <tt>__weak</tt>, and</li> <li>it would be legal to initialize a <tt>T __strong *</tt> with a <tt>U __strong *</tt>.</li> </ul> @@ -946,7 +944,7 @@ implicit conversion sequence not requiring a pass-by-writeback.</p> not have a legal form:</p> <ul> -<li><tt>&var</tt>, where <tt>var</tt> is a scalar variable of +<li><tt>&var</tt>, where <tt>var</tt> is a scalar variable of automatic storage duration with retainable object pointer type</li> <li>a conditional expression where the second and third operands are both legal forms</li> @@ -963,7 +961,7 @@ that the user will see confusing aliasing problems due to the implementation, below, where their store to the writeback temporary is not immediately seen in the original argument variable.</p></div> -<p>A pass-by-writeback is evaluated as follows: +<p>A pass-by-writeback is evaluated as follows:</p> <ol> <li>The argument is evaluated to yield a pointer <tt>p</tt> of type <tt>U oq *</tt>.</li> @@ -978,7 +976,7 @@ not immediately seen in the original argument variable.</p></div> actual call.</li> <li>After the call completes, the temporary is loaded with primitive semantics, and that value is assigned into <tt>*p</tt>.</li> -</ol></p> +</ol> <div class="rationale"><p>Rationale: this is all admittedly convoluted. In an ideal world, we would see that a local variable is @@ -1055,7 +1053,6 @@ it is implicitly qualified with <tt>__unsafe_unretained</tt>;</li> <li>otherwise, it is implicitly qualified with <tt>__autoreleasing</tt>.</li> </ul> -</p> <div class="rationale"><p>Rationale: <tt>__autoreleasing</tt> exists mostly for this case, the Cocoa convention for out-parameters. Since @@ -1101,7 +1098,7 @@ template argument was deduced or explicitly specified. </p> family</span>, which is a conventional set of behaviors ascribed to it by the Cocoa conventions.</p> -<p>A method is in a certain method family if: +<p>A method is in a certain method family if:</p> <ul> <li>it has a <tt>objc_method_family</tt> attribute placing it in that family; or if not that,</li> @@ -1109,7 +1106,7 @@ by the Cocoa conventions.</p> it in a different or no family, and</li> <li>its selector falls into the corresponding selector family, and</li> <li>its signature obeys the added restrictions of the method family.</li> -</ul></p> +</ul> <p>A selector is in a certain selector family if, ignoring any leading underscores, the first component of the selector either consists @@ -1132,7 +1129,7 @@ declares or contains a call to an <tt>init</tt> method whose return type is neither <tt>id</tt> nor a pointer to a super-class or sub-class of the declaring class (if the method was declared on a class) or the static receiver type of the call (if it was declared -on a protocol).</p> +on a protocol). <div class="rationale"><p>Rationale: there are a fair number of existing methods with <tt>init</tt>-like selectors which nonetheless don't @@ -1361,14 +1358,13 @@ clearer.</p></div> <p>A program is ill-formed if it contains a method definition, message send, or <tt>@selector</tt> expression for any of the following -selectors: +selectors:</p> <ul> <li><tt>autorelease</tt></li> <li><tt>release</tt></li> <li><tt>retain</tt></li> <li><tt>retainCount</tt></li> </ul> -</p> <div class="rationale"><p>Rationale: <tt>retainCount</tt> is banned because ARC robs it of consistent semantics. The others were banned @@ -1519,7 +1515,7 @@ retained during enumeration, and the collection itself cannot be synchronously modified. It can be overridden by explicitly qualifying the variable with <tt>__strong</tt>, which will make the variable mutable again and cause the loop to retain the objects it -encounters.</div> +encounters.</p></div> </div> @@ -1540,7 +1536,7 @@ retain during capture.</p> <p><tt>__block</tt> variables of retainable object owner type are moved off the stack by initializing the heap copy with the result of -moving from the stack copy.</tt></p> +moving from the stack copy.</p> <p>With the exception of retains done as part of initializing a <tt>__strong</tt> parameter variable or reading a <tt>__weak</tt> @@ -1555,7 +1551,7 @@ used only as an argument to a call.</p> <h1>Exceptions</h1> <p>By default in Objective C, ARC is not exception-safe for normal -releases: +releases:</p> <ul> <li>It does not end the lifetime of <tt>__strong</tt> variables when their scopes are abnormally terminated by an exception.</li> diff --git a/docs/DriverInternals.html b/docs/DriverInternals.html index 380de9909a..ce707b990d 100644 --- a/docs/DriverInternals.html +++ b/docs/DriverInternals.html @@ -1,8 +1,10 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Clang Driver Manual</title> - <link type="text/css" rel="stylesheet" href="../menu.css" /> - <link type="text/css" rel="stylesheet" href="../content.css" /> + <link type="text/css" rel="stylesheet" href="../menu.css"> + <link type="text/css" rel="stylesheet" href="../content.css"> <style type="text/css"> td { vertical-align: top; @@ -19,26 +21,29 @@ <ul> <li><a href="#intro">Introduction</a></li> - <li><a href="#features">Features and Goals</a></li> + <li><a href="#features">Features and Goals</a> <ul> <li><a href="#gcccompat">GCC Compatibility</a></li> <li><a href="#components">Flexible</a></li> <li><a href="#performance">Low Overhead</a></li> <li><a href="#simple">Simple</a></li> </ul> - <li><a href="#design">Design</a></li> + </li> + <li><a href="#design">Design</a> <ul> <li><a href="#int_intro">Internals Introduction</a></li> <li><a href="#int_overview">Design Overview</a></li> - <li><a href="#int_notes">Additional Notes</a></li> + <li><a href="#int_notes">Additional Notes</a> <ul> <li><a href="#int_compilation">The Compilation Object</a></li> <li><a href="#int_unified_parsing">Unified Parsing & Pipelining</a></li> <li><a href="#int_toolchain_translation">ToolChain Argument Translation</a></li> <li><a href="#int_unused_warnings">Unused Argument Warnings</a></li> </ul> + </li> <li><a href="#int_gcc_concepts">Relation to GCC Driver Concepts</a></li> </ul> + </li> </ul> @@ -168,11 +173,12 @@ distinct stages which manipulate these data structures, and the blue components are important helper classes. </p> - <center> - <a href="DriverArchitecture.png" alt="Driver Architecture Diagram"> - <img width=400 src="DriverArchitecture.png"> + <div style="text-align:center"> + <a href="DriverArchitecture.png"> + <img width=400 src="DriverArchitecture.png" + alt="Driver Architecture Diagram"> </a> - </center> + </div> <!--=======================================================================--> <h3><a name="int_stages">Driver Stages</a></h3> @@ -495,7 +501,7 @@ embedded in specs is in the Tool specific argument translation routines. The parts of specs which control the compilation pipeline are generally part of - the <ii>Pipeline</ii> stage.</p> + the <i>Pipeline</i> stage.</p> </li> <li> diff --git a/docs/InternalsManual.html b/docs/InternalsManual.html index 0df1e32c77..bd6af8d6c1 100644 --- a/docs/InternalsManual.html +++ b/docs/InternalsManual.html @@ -1,8 +1,10 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>"Clang" CFE Internals Manual</title> -<link type="text/css" rel="stylesheet" href="../menu.css" /> -<link type="text/css" rel="stylesheet" href="../content.css" /> +<link type="text/css" rel="stylesheet" href="../menu.css"> +<link type="text/css" rel="stylesheet" href="../content.css"> <style type="text/css"> td { vertical-align: top; @@ -29,13 +31,9 @@ td { </ul> </li> <li><a href="#libdriver">The Driver Library</a> - <ul> - </ul> </li> <li><a href="#pch">Precompiled Headers</a> <li><a href="#libfrontend">The Frontend Library</a> - <ul> - </ul> </li> <li><a href="#liblex">The Lexer and Preprocessor Library</a> <ul> @@ -47,8 +45,6 @@ td { </ul> </li> <li><a href="#libparse">The Parser Library</a> - <ul> - </ul> </li> <li><a href="#libast">The AST Library</a> <ul> @@ -135,8 +131,8 @@ implemented. A representative example of a diagnostic is:</p> <pre> t.c:38:15: error: invalid operands to binary expression ('int *' and '_Complex float') - <font color="darkgreen">P = (P-42) + Gamma*4;</font> - <font color="blue">~~~~~~ ^ ~~~~~~~</font> + <span style="color:darkgreen">P = (P-42) + Gamma*4;</span> + <span style="color:blue">~~~~~~ ^ ~~~~~~~</span> </pre> <p>In this example, you can see the English translation, the severity (error), @@ -265,7 +261,7 @@ including variable names, types, labels, etc. The 'select' format can be used to achieve this sort of thing in a localizable way, see below.</p> <!-- ==================================== --> -<h4>Formatting a Diagnostic Argument</a></h4> +<h4>Formatting a Diagnostic Argument</h4> <!-- ==================================== --> <p>Arguments to diagnostics are fully typed internally, and come from a couple @@ -575,7 +571,7 @@ the <code>CharSourceRange</code> class.</p> <!-- ======================================================================= --> <p>The clang Driver and library are documented <a -href="DriverInternals.html">here<a>.<p> +href="DriverInternals.html">here</a>.<p> <!-- ======================================================================= --> <h2 id="pch">Precompiled Headers</h2> @@ -685,7 +681,6 @@ lexer/preprocessor system on a per-token basis: <li><b>NeedsCleaning</b> - This flag is set if the original spelling for the token includes a trigraph or escaped newline. Since this is uncommon, many pieces of code can fast-path on tokens that did not need cleaning. - </p> </ol> </li> </ul> @@ -905,13 +900,13 @@ on the annotated lines. In this example, we expect to get:</p> <pre> <b>test.c:6:1: error: indirection requires pointer operand ('foo' invalid)</b> *X; // error -<font color="blue">^~</font> +<span style="color:blue">^~</span> <b>test.c:7:1: error: indirection requires pointer operand ('foo' invalid)</b> **Y; // error -<font color="blue">^~~</font> +<span style="color:blue">^~~</span> <b>test.c:8:1: error: indirection requires pointer operand ('foo' invalid)</b> **Z; // error -<font color="blue">^~~</font> +<span style="color:blue">^~~</span> </pre> <p>While this example is somewhat silly, it illustrates the point: we want to @@ -1726,7 +1721,7 @@ interacts with constant evaluation:</p> <p>To add an attribute, you'll have to add it to the list of attributes, add it to the parsing phase, and look for it in the AST scan. -<a href="http://llvm.org/viewvc/llvm-project?view=rev&revision=124217">r124217</a> +<a href="http://llvm.org/viewvc/llvm-project?view=rev&revision=124217">r124217</a> has a good example of adding a warning attribute.</p> <p>(Beware that this hasn't been reviewed/fixed by the people who designed the diff --git a/docs/LanguageExtensions.html b/docs/LanguageExtensions.html index 1218d46640..1eeea604f6 100644 --- a/docs/LanguageExtensions.html +++ b/docs/LanguageExtensions.html @@ -103,11 +103,12 @@ </ul> </li> <li><a href="#analyzerspecific">Static Analysis-Specific Extensions</a></li> -<li><a href="#dynamicanalyzerspecific">Dynamic Analysis-Specific Extensions</a></li> +<li><a href="#dynamicanalyzerspecific">Dynamic Analysis-Specific Extensions</a> <ul> <li><a href="#address_sanitizer">AddressSanitizer</a></li> </ul> -<li><a href="#threadsafety">Thread Safety Annotation Checking</a></li> +</li> +<li><a href="#threadsafety">Thread Safety Annotation Checking</a> <ul> <li><a href="#ts_noanal"><tt>no_thread_safety_analysis</tt></a></li> <li><a href="#ts_lockable"><tt>lockable</tt></a></li> @@ -128,6 +129,7 @@ <li><a href="#ts_elr"><tt>exclusive_locks_required(...)</tt></a></li> <li><a href="#ts_slr"><tt>shared_locks_required(...)</tt></a></li> </ul> +</li> </ul> <!-- ======================================================================= --> @@ -541,7 +543,7 @@ support for delegating constructors is enabled.</p> <tt>__has_extension(cxx_deleted_functions)</tt> to determine if support for deleted function definitions (with <tt>= delete</tt>) is enabled.</p> -<h4 id="cxx_explicit_conversions">C++11 explicit conversion functions</h3> +<h4 id="cxx_explicit_conversions">C++11 explicit conversion functions</h4> <p>Use <tt>__has_feature(cxx_explicit_conversions)</tt> to determine if support for <tt>explicit</tt> conversion functions is enabled.</p> <h4 id="cxx_generalized_initializers">C++11 generalized initializers</h4> diff --git a/docs/PCHInternals.html b/docs/PCHInternals.html index d46ae5ceec..28ce1ce53e 100644 --- a/docs/PCHInternals.html +++ b/docs/PCHInternals.html @@ -1,8 +1,10 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Precompiled Headers (PCH)</title> - <link type="text/css" rel="stylesheet" href="../menu.css" /> - <link type="text/css" rel="stylesheet" href="../content.css" /> + <link type="text/css" rel="stylesheet" href="../menu.css"> + <link type="text/css" rel="stylesheet" href="../content.css"> <style type="text/css"> td { vertical-align: top; @@ -155,7 +157,7 @@ without duplicating the data from the common headers for every file.</p> <h2 id="contents">Precompiled Header Contents</h2> -<img src="PCHLayout.png" align="right" alt="Precompiled header layout"> +<img src="PCHLayout.png" style="float:right" alt="Precompiled header layout"> <p>Clang's precompiled headers are organized into several different blocks, each of which contains the serialized representation of a part diff --git a/docs/PTHInternals.html b/docs/PTHInternals.html index 279d47968b..b15f681606 100644 --- a/docs/PTHInternals.html +++ b/docs/PTHInternals.html @@ -1,8 +1,10 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Pretokenized Headers (PTH)</title> - <link type="text/css" rel="stylesheet" href="../menu.css" /> - <link type="text/css" rel="stylesheet" href="../content.css" /> + <link type="text/css" rel="stylesheet" href="../menu.css"> + <link type="text/css" rel="stylesheet" href="../content.css"> <style type="text/css"> td { vertical-align: top; diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 68f913d165..bd717b8422 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -1,8 +1,10 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Clang 3.0 Release Notes</title> -<link type="text/css" rel="stylesheet" href="../menu.css" /> -<link type="text/css" rel="stylesheet" href="../content.css" /> +<link type="text/css" rel="stylesheet" href="../menu.css"> +<link type="text/css" rel="stylesheet" href="../content.css"> <style type="text/css"> td { vertical-align: top; @@ -17,7 +19,7 @@ td { <h1>Clang 3.0 Release Notes</h1> -<img align=right src="http://llvm.org/img/DragonSmall.png" +<img style="float:right" src="http://llvm.org/img/DragonSmall.png" width="136" height="136" alt="LLVM Dragon Logo"> <ul> @@ -379,5 +381,6 @@ should likely pick up proper release notes in 3.1. --> +</div> </body> </html> diff --git a/docs/UsersManual.html b/docs/UsersManual.html index 4e7cdf0b8e..0a3258e270 100644 --- a/docs/UsersManual.html +++ b/docs/UsersManual.html @@ -1,8 +1,10 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Clang Compiler User's Manual</title> -<link type="text/css" rel="stylesheet" href="../menu.css" /> -<link type="text/css" rel="stylesheet" href="../content.css" /> +<link type="text/css" rel="stylesheet" href="../menu.css"> +<link type="text/css" rel="stylesheet" href="../content.css"> <style type="text/css"> td { vertical-align: top; @@ -263,10 +265,10 @@ when this is enabled, Clang will print something like: When this option is enabled, Clang will use colors to highlight specific parts of the diagnostic, e.g., <pre> - <b><font color="black">test.c:28:8: <font color="magenta">warning</font>: extra tokens at end of #endif directive [-Wextra-tokens]</font></b> + <b><span style="color:black">test.c:28:8: <span style="color:magenta">warning</span>: extra tokens at end of #endif directive [-Wextra-tokens]</span></b> #endif bad - <font color="green">^</font> - <font color="green">//</font> + <span style="color:green">^</span> + <span style="color:green">//</span> </pre> <p>When this is disabled, Clang will just print:</p> @@ -305,8 +307,7 @@ Changes diagnostic output format to better match IDEs and command line tools.</d <dt id="opt_fdiagnostics-show-name"><b>-f[no-]diagnostics-show-name</b>: Enable the display of the diagnostic name.</dt> <dd>This option, which defaults to off, controls whether or not -Clang prints the associated name.</dd> -<br> +Clang prints the associated name.<p></p></dd> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <dt id="opt_fdiagnostics-show-option"><b>-f[no-]diagnostics-show-option</b>: Enable <tt>[-Woption]</tt> information in diagnostic line.</dt> diff --git a/www/OpenProjects.html b/www/OpenProjects.html index fec23dc14a..b2d4dae6c3 100644 --- a/www/OpenProjects.html +++ b/www/OpenProjects.html @@ -2,10 +2,10 @@ "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> - <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> + <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Clang - Get Involved</title> - <link type="text/css" rel="stylesheet" href="menu.css" /> - <link type="text/css" rel="stylesheet" href="content.css" /> + <link type="text/css" rel="stylesheet" href="menu.css"> + <link type="text/css" rel="stylesheet" href="content.css"> </head> <body> diff --git a/www/UniversalDriver.html b/www/UniversalDriver.html index 82ccc8ded7..2d41a624e1 100644 --- a/www/UniversalDriver.html +++ b/www/UniversalDriver.html @@ -2,10 +2,10 @@ "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> - <META http-equiv="Content-Type" content="text/html |