aboutsummaryrefslogtreecommitdiff
path: root/clang
diff options
context:
space:
mode:
Diffstat (limited to 'clang')
-rwxr-xr-xclang/www/cxx_dr_status.html65
-rwxr-xr-xclang/www/make_cxx_dr_status56
2 files changed, 70 insertions, 51 deletions
diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html
index dac38ce..7b61f47 100755
--- a/clang/www/cxx_dr_status.html
+++ b/clang/www/cxx_dr_status.html
@@ -8,12 +8,19 @@
<link type="text/css" rel="stylesheet" href="content.css">
<style type="text/css">
.none { background-color: #FFCCCC }
+ .none-superseded { background-color: rgba(255, 204, 204, 0.65) }
.unknown { background-color: #EBCAFE }
+ .unknown-superseded { background-color: rgba(234, 200, 254, 0.65) }
.partial { background-color: #FFE0B0 }
+ .partial-superseded { background-color: rgba(255, 224, 179, 0.65) }
.unreleased { background-color: #FFFF99 }
+ .unreleased-superseded { background-color: rgba(255, 255, 153, 0.65) }
.full { background-color: #CCFF99 }
+ .full-superseded { background-color: rgba(214, 255, 173, 0.65) }
.na { background-color: #DDDDDD }
+ .na-superseded { background-color: rgba(222, 222, 222, 0.65) }
.open * { color: #AAAAAA }
+ .open-superseded * { color: rgba(171, 171, 171, 0.65) }
//.open { filter: opacity(0.2) }
tr:target { background-color: #FFFFBB }
th { background-color: #FFDDAA }
@@ -110,7 +117,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/12.html">12</a></td>
<td>dup</td>
<td>Default arguments on different declarations for the same function and the Koenig lookup</td>
- <td class="full" align="center">Superseded by <a href="#239">239</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#239">239</a></td>
</tr>
<tr id="13">
<td><a href="https://cplusplus.github.io/CWG/issues/13.html">13</a></td>
@@ -146,7 +153,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/18.html">18</a></td>
<td>NAD</td>
<td>f(TYPE) where TYPE is void should be allowed</td>
- <td class="full" align="center">Superseded by <a href="#577">577</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#577">577</a></td>
</tr>
<tr id="19">
<td><a href="https://cplusplus.github.io/CWG/issues/19.html">19</a></td>
@@ -170,7 +177,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/22.html">22</a></td>
<td>TC1</td>
<td>Template parameter with a default argument that refers to itself</td>
- <td class="full" align="center">Superseded by <a href="#481">481</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#481">481</a></td>
</tr>
<tr id="23">
<td><a href="https://cplusplus.github.io/CWG/issues/23.html">23</a></td>
@@ -218,7 +225,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/30.html">30</a></td>
<td>TC1</td>
<td>Valid uses of "<TT>::template</TT>"</td>
- <td class="full" align="center">Superseded by <a href="#468">468</a> (C++11 onwards)</td>
+ <td class="full-superseded" align="center">Superseded by <a href="#468">468</a> (C++11 onwards)</td>
</tr>
<tr id="31">
<td><a href="https://cplusplus.github.io/CWG/issues/31.html">31</a></td>
@@ -260,7 +267,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/37.html">37</a></td>
<td>NAD</td>
<td>When is uncaught_exception() true?</td>
- <td class="unknown" align="center">Superseded by <a href="#475">475</a></td>
+ <td class="unknown-superseded" align="center">Superseded by <a href="#475">475</a></td>
</tr>
<tr id="38">
<td><a href="https://cplusplus.github.io/CWG/issues/38.html">38</a></td>
@@ -302,7 +309,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/44.html">44</a></td>
<td>CD1</td>
<td>Member specializations</td>
- <td class="partial" align="center">Superseded by <a href="#727">727</a></td>
+ <td class="partial-superseded" align="center">Superseded by <a href="#727">727</a></td>
</tr>
<tr id="45">
<td><a href="https://cplusplus.github.io/CWG/issues/45.html">45</a></td>
@@ -320,7 +327,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/47.html">47</a></td>
<td>NAD</td>
<td>Template friend issues</td>
- <td class="full" align="center">Superseded by <a href="#329">329</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#329">329</a></td>
</tr>
<tr id="48">
<td><a href="https://cplusplus.github.io/CWG/issues/48.html">48</a></td>
@@ -476,7 +483,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/73.html">73</a></td>
<td>TC1</td>
<td>Pointer equality</td>
- <td class="full" align="center">Superseded by <a href="#1652">1652</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#1652">1652</a></td>
</tr>
<tr id="74">
<td><a href="https://cplusplus.github.io/CWG/issues/74.html">74</a></td>
@@ -632,7 +639,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/99.html">99</a></td>
<td>NAD</td>
<td>Partial ordering, references and cv-qualifiers</td>
- <td class="full" align="center">Superseded by <a href="#214">214</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#214">214</a></td>
</tr>
<tr id="100">
<td><a href="https://cplusplus.github.io/CWG/issues/100.html">100</a></td>
@@ -674,7 +681,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/106.html">106</a></td>
<td>CD1</td>
<td>Creating references to references during template deduction/instantiation</td>
- <td class="full" align="center">Superseded by <a href="#540">540</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#540">540</a></td>
</tr>
<tr id="107">
<td><a href="https://cplusplus.github.io/CWG/issues/107.html">107</a></td>
@@ -1040,7 +1047,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/167.html">167</a></td>
<td>NAD</td>
<td>Deprecating static functions</td>
- <td class="unknown" align="center">Superseded by <a href="#1012">1012</a></td>
+ <td class="unknown-superseded" align="center">Superseded by <a href="#1012">1012</a></td>
</tr>
<tr id="168">
<td><a href="https://cplusplus.github.io/CWG/issues/168.html">168</a></td>
@@ -1082,7 +1089,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/174.html">174</a></td>
<td>NAD</td>
<td>Undeprecating global static</td>
- <td class="unknown" align="center">Superseded by <a href="#1012">1012</a></td>
+ <td class="unknown-superseded" align="center">Superseded by <a href="#1012">1012</a></td>
</tr>
<tr id="175">
<td><a href="https://cplusplus.github.io/CWG/issues/175.html">175</a></td>
@@ -1136,7 +1143,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/183.html">183</a></td>
<td>TC1</td>
<td><TT>typename</TT> in explicit specializations</td>
- <td class="full" align="center">Superseded by <a href="#382">382</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#382">382</a></td>
</tr>
<tr id="184">
<td><a href="https://cplusplus.github.io/CWG/issues/184.html">184</a></td>
@@ -1160,7 +1167,7 @@
<td><a href="https://cplusplus.github.io/CWG/issues/187.html">187</a></td>
<td>TC1</td>
<td>Scope of template parameter names</td>
- <td class="full" align="center">Superseded by <a href="#481">481</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#481">481</a></td>
</tr>
<tr id="188">
<td><a href="https://cplusplus.github.io/CWG/issues/188.html">188</a></td>
@@ -1936,7 +1943,7 @@ of class templates</td>
<td><a href="https://cplusplus.github.io/CWG/issues/316.html">316</a></td>
<td>NAD</td>
<td>Injected-class-name of template used as template template parameter</td>
- <td class="full" align="center">Superseded by <a href="#1004">1004</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#1004">1004</a></td>
</tr>
<tr id="317">
<td><a href="https://cplusplus.github.io/CWG/issues/317.html">317</a></td>
@@ -1948,7 +1955,7 @@ of class templates</td>
<td><a href="https://cplusplus.github.io/CWG/issues/318.html">318</a></td>
<td>CD1</td>
<td><TT>struct A::A</TT> should not name the constructor of <TT>A</TT></td>
- <td class="full" align="center">Superseded by <a href="#1310">1310</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#1310">1310</a></td>
</tr>
<tr id="319">
<td><a href="https://cplusplus.github.io/CWG/issues/319.html">319</a></td>
@@ -2086,7 +2093,7 @@ of class templates</td>
<td><a href="https://cplusplus.github.io/CWG/issues/341.html">341</a></td>
<td>C++11</td>
<td><TT>extern "C"</TT> namespace member function versus global variable</td>
- <td class="unknown" align="center">Superseded by <a href="#1708">1708</a></td>
+ <td class="unknown-superseded" align="center">Superseded by <a href="#1708">1708</a></td>
</tr>
<tr id="342">
<td><a href="https://cplusplus.github.io/CWG/issues/342.html">342</a></td>
@@ -2422,7 +2429,7 @@ of class templates</td>
<td><a href="https://cplusplus.github.io/CWG/issues/397.html">397</a></td>
<td>CD1</td>
<td>Same address for string literals from default arguments in inline functions?</td>
- <td class="unknown" align="center">Superseded by <a href="#1823">1823</a></td>
+ <td class="unknown-superseded" align="center">Superseded by <a href="#1823">1823</a></td>
</tr>
<tr id="398">
<td><a href="https://cplusplus.github.io/CWG/issues/398.html">398</a></td>
@@ -2644,7 +2651,7 @@ of class templates</td>
<td><a href="https://cplusplus.github.io/CWG/issues/434.html">434</a></td>
<td>NAD</td>
<td>Unclear suppression of standard conversions while binding reference to lvalue</td>
- <td class="full" align="center">Superseded by <a href="#2352">2352</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#2352">2352</a></td>
</tr>
<tr id="435">
<td><a href="https://cplusplus.github.io/CWG/issues/435.html">435</a></td>
@@ -2662,7 +2669,7 @@ of class templates</td>
<td><a href="https://cplusplus.github.io/CWG/issues/437.html">437</a></td>
<td>CD1</td>
<td>Is type of class allowed in member function exception specification?</td>
- <td class="full" align="center">Superseded by <a href="#1308">1308</a></td>
+ <td class="full-superseded-superseded" align="center">Superseded by <a href="#1308">1308</a></td>
</tr>
<tr id="438">
<td><a href="https://cplusplus.github.io/CWG/issues/438.html">438</a></td>
@@ -2692,7 +2699,7 @@ of class templates</td>
<td><a href="https://cplusplus.github.io/CWG/issues/442.html">442</a></td>
<td>CD1</td>
<td>Incorrect use of null pointer constant in description of delete operator</td>
- <td class="na" align="center">Superseded by <a href="#348">348</a></td>
+ <td class="na-superseded" align="center">Superseded by <a href="#348">348</a></td>
</tr>
<tr id="443">
<td><a href="https://cplusplus.github.io/CWG/issues/443.html">443</a></td>
@@ -3016,13 +3023,13 @@ of class templates</td>
<td><a href="https://cplusplus.github.io/CWG/issues/496.html">496</a></td>
<td>CD3</td>
<td>Is a volatile-qualified type really a POD?</td>
- <td class="full" align="center">Superseded by <a href="#2094">2094</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#2094">2094</a></td>
</tr>
<tr id="497">
<td><a href="https://cplusplus.github.io/CWG/issues/497.html">497</a></td>
<td>CD1</td>
<td>Missing required initialization in example</td>
- <td class="unknown" align="center">Superseded by <a href="#253">253</a></td>
+ <td class="unknown-superseded" align="center">Superseded by <a href="#253">253</a></td>
</tr>
<tr class="open" id="498">
<td><a href="https://cplusplus.github.io/CWG/issues/498.html">498</a></td>
@@ -3130,7 +3137,7 @@ of class templates</td>
<td><a href="https://cplusplus.github.io/CWG/issues/515.html">515</a></td>
<td>CD1</td>
<td>Non-dependent references to base class members</td>
- <td class="unknown" align="center">Superseded by <a href="#1017">1017</a></td>
+ <td class="unknown-superseded" align="center">Superseded by <a href="#1017">1017</a></td>
</tr>
<tr id="516">
<td><a href="https://cplusplus.github.io/CWG/issues/516.html">516</a></td>
@@ -3918,7 +3925,7 @@ and <I>POD class</I></td>
<td><a href="https://cplusplus.github.io/CWG/issues/646.html">646</a></td>
<td>NAD</td>
<td>Can a class with a constexpr copy constructor be a literal type?</td>
- <td class="unknown" align="center">Superseded by <a href="#981">981</a></td>
+ <td class="unknown-superseded" align="center">Superseded by <a href="#981">981</a></td>
</tr>
<tr id="647">
<td><a href="https://cplusplus.github.io/CWG/issues/647.html">647</a></td>
@@ -3966,7 +3973,7 @@ and <I>POD class</I></td>
<td><a href="https://cplusplus.github.io/CWG/issues/654.html">654</a></td>
<td>CD1</td>
<td>Conversions to and from <TT>nullptr_t</TT></td>
- <td class="full" align="center">Superseded by <a href="#1423">1423</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#1423">1423</a></td>
</tr>
<tr id="655">
<td><a href="https://cplusplus.github.io/CWG/issues/655.html">655</a></td>
@@ -4146,7 +4153,7 @@ and <I>POD class</I></td>
<td><a href="https://cplusplus.github.io/CWG/issues/684.html">684</a></td>
<td>CD1</td>
<td>Constant expressions involving the address of an automatic variable</td>
- <td class="unknown" align="center">Superseded by <a href="#1454">1454</a></td>
+ <td class="unknown-superseded" align="center">Superseded by <a href="#1454">1454</a></td>
</tr>
<tr id="685">
<td><a href="https://cplusplus.github.io/CWG/issues/685.html">685</a></td>
@@ -7656,7 +7663,7 @@ and <I>POD class</I></td>
<td><a href="https://cplusplus.github.io/CWG/issues/1308.html">1308</a></td>
<td>CD3</td>
<td>Completeness of class type within an <I>exception-specification</I></td>
- <td class="full" align="center">Superseded by <a href="#1330">1330</a></td>
+ <td class="full-superseded" align="center">Superseded by <a href="#1330">1330</a></td>
</tr>
<tr id="1309">
<td><a href="https://cplusplus.github.io/CWG/issues/1309.html">1309</a></td>
@@ -7812,7 +7819,7 @@ and <I>POD class</I></td>
<td><a href="https://cplusplus.github.io/CWG/issues/1334.html">1334</a></td>
<td>NAD</td>
<td>Layout compatibility and cv-qualification</td>
- <td class="unreleased" align="center">Superseded by <a href="#1719">1719</a></td>
+ <td class="unreleased-superseded" align="center">Superseded by <a href="#1719">1719</a></td>
</tr>
<tr id="1335">
<td><a href="https://cplusplus.github.io/CWG/issues/1335.html">1335</a></td>
diff --git a/clang/www/make_cxx_dr_status b/clang/www/make_cxx_dr_status
index 47c8b3b..1d337fc 100755
--- a/clang/www/make_cxx_dr_status
+++ b/clang/www/make_cxx_dr_status
@@ -95,12 +95,19 @@ out_file.write('''\
<link type="text/css" rel="stylesheet" href="content.css">
<style type="text/css">
.none { background-color: #FFCCCC }
+ .none-superseded { background-color: rgba(255, 204, 204, 0.65) }
.unknown { background-color: #EBCAFE }
+ .unknown-superseded { background-color: rgba(234, 200, 254, 0.65) }
.partial { background-color: #FFE0B0 }
+ .partial-superseded { background-color: rgba(255, 224, 179, 0.65) }
.unreleased { background-color: #FFFF99 }
+ .unreleased-superseded { background-color: rgba(255, 255, 153, 0.65) }
.full { background-color: #CCFF99 }
+ .full-superseded { background-color: rgba(214, 255, 173, 0.65) }
.na { background-color: #DDDDDD }
+ .na-superseded { background-color: rgba(222, 222, 222, 0.65) }
.open * { color: #AAAAAA }
+ .open-superseded * { color: rgba(171, 171, 171, 0.65) }
//.open { filter: opacity(0.2) }
tr:target { background-color: #FFFFBB }
th { background-color: #FFDDAA }
@@ -149,6 +156,8 @@ def availability(issue):
status = status[:-1-len(unresolved_status)]
avail_suffix = ''
+ avail_style = ''
+ tooltip = ''
if status.endswith(' c++11'):
status = status[:-6]
avail_suffix = ' (C++11 onwards)'
@@ -163,66 +172,67 @@ def availability(issue):
avail_suffix = ' (C++20 onwards)'
if status == 'unknown':
avail = 'Unknown'
- avail_style = ' class="unknown"'
+ avail_style = 'unknown'
elif re.match(r'^[0-9]+\.?[0-9]*', status):
if not proposed_resolution:
avail = 'Clang %s' % status
if float(status) > latest_release:
- avail_style = ' class="unreleased"'
+ avail_style = 'unreleased'
else:
- avail_style = ' class="full"'
+ avail_style = 'full'
else:
avail = 'Not Resolved*'
- avail_style = f' title="Clang {status} implements {proposed_resolution} resolution"'
+ tooltip = f' title="Clang {status} implements {proposed_resolution} resolution"'
elif status == 'yes':
if not proposed_resolution:
avail = 'Yes'
- avail_style = ' class="full"'
+ avail_style = 'full'
else:
avail = 'Not Resolved*'
- avail_style = f' title="Clang implements {proposed_resolution} resolution"'
+ tooltip = f' title="Clang implements {proposed_resolution} resolution"'
elif status == 'partial':
if not proposed_resolution:
avail = 'Partial'
- avail_style = ' class="partial"'
+ avail_style = 'partial'
else:
avail = 'Not Resolved*'
- avail_style = f' title="Clang partially implements {proposed_resolution} resolution"'
+ tooltip = f' title="Clang partially implements {proposed_resolution} resolution"'
elif status == 'no':
if not proposed_resolution:
avail = 'No'
- avail_style = ' class="none"'
+ avail_style = 'none'
else:
avail = 'Not Resolved*'
- avail_style = f' title="Clang does not implement {proposed_resolution} resolution"'
+ tooltip = f' title="Clang does not implement {proposed_resolution} resolution"'
elif status == 'na':
avail = 'N/A'
- avail_style = ' class="na"'
+ avail_style = 'na'
elif status == 'na lib':
avail = 'N/A (Library DR)'
- avail_style = ' class="na"'
+ avail_style = 'na'
elif status == 'na abi':
avail = 'N/A (ABI constraint)'
- avail_style = ' class="na"'
+ avail_style = 'na'
elif status.startswith('sup '):
dup = status.split(' ', 1)[1]
if dup.startswith('P'):
avail = 'Superseded by <a href="https://wg21.link/%s">%s</a>' % (dup, dup)
- avail_style = ' class="na"'
+ avail_style = 'na'
else:
avail = 'Superseded by <a href="#%s">%s</a>' % (dup, dup)
try:
- _, avail_style, _ = availability(int(dup))
+ _, avail_style, _, _ = availability(int(dup))
+ avail_style += '-superseded'
except:
print("issue %s marked as sup %s" % (issue, dup), file=sys.stderr)
- avail_style = ' class="none"'
+ avail_style = 'none'
elif status.startswith('dup '):
dup = int(status.split(' ', 1)[1])
avail = 'Duplicate of <a href="#%s">%s</a>' % (dup, dup)
- _, avail_style, _ = availability(dup)
+ _, avail_style, _, _ = availability(dup)
else:
raise AvailabilityError('Unknown status %s for issue %s' % (status, dr.issue))
- return (avail + avail_suffix, avail_style, unresolved_status)
+ return (avail + avail_suffix, avail_style, unresolved_status, tooltip)
count = {}
for dr in drs:
@@ -239,7 +249,7 @@ for dr in drs:
elif dr.status in ('open', 'drafting', 'review', 'tentatively ready'):
row_style = ' class="open"'
try:
- avail, avail_style, unresolved_status = availability(dr.issue)
+ avail, avail_style, unresolved_status, tooltip = availability(dr.issue)
except AvailabilityError as e:
availability_error_occurred = True
print(e.args[0])
@@ -257,7 +267,7 @@ for dr in drs:
else:
row_style = ''
try:
- avail, avail_style, unresolved_status = availability(dr.issue)
+ avail, avail_style, unresolved_status, tooltip = availability(dr.issue)
except AvailabilityError as e:
availability_error_occurred = True
print(e.args[0])
@@ -272,13 +282,15 @@ for dr in drs:
if not avail.startswith('Sup') and not avail.startswith('Dup'):
count[avail] = count.get(avail, 0) + 1
+ if avail_style != '':
+ avail_style = ' class="{}"'.format(avail_style)
out_file.write('''
<tr%s id="%s">
<td><a href="https://cplusplus.github.io/CWG/issues/%s.html">%s</a></td>
<td>%s</td>
<td>%s</td>
- <td%s align="center">%s</td>
- </tr>''' % (row_style, dr.issue, dr.issue, dr.issue, dr.status, dr.title, avail_style, avail))
+ <td%s%s align="center">%s</td>
+ </tr>''' % (row_style, dr.issue, dr.issue, dr.issue, dr.status, dr.title, avail_style, tooltip, avail))
if availability_error_occurred:
exit(1)