From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17669 invoked by alias); 2 Apr 2016 13:40:11 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 17658 invoked by uid 89); 2 Apr 2016 13:40:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.6 required=5.0 tests=BAYES_50,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.2 spammy=Member, Exchange, gray, gcc-4.8 X-HELO: ainaz.pair.com Received: from ainaz.pair.com (HELO ainaz.pair.com) (209.68.2.66) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Sat, 02 Apr 2016 13:40:00 +0000 Received: from anthias (unknown [27.114.165.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ainaz.pair.com (Postfix) with ESMTPSA id 9142A3F423; Sat, 2 Apr 2016 09:39:53 -0400 (EDT) Date: Sat, 02 Apr 2016 13:40:00 -0000 From: Gerald Pfeifer To: gcc-patches@gcc.gnu.org cc: Jason Merrill Subject: [wwwdocs] [2/3] projects/cxx-status.html -- introduce global CSS for tables In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-IsSubscribed: yes X-SW-Source: 2016-04/txt/msg00116.txt.bz2 This patch shows the power of CSS. In my quest to replace local styles with ones coming from the global style sheet, this replaces 91 instances of style="text-align:center;" by a single line table.cxxstatus td:nth-child(3) { text-align:center; } and any future changes/additions to any of these tables will automatically get this formatting. Cool, isn't it? Committed. Gerald Index: gcc.css =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/gcc.css,v retrieving revision 1.34 diff -u -r1.34 gcc.css --- gcc.css 2 Apr 2016 10:03:18 -0000 1.34 +++ gcc.css 2 Apr 2016 10:14:28 -0000 @@ -66,6 +66,7 @@ /* C++ status tables. */ table.cxxstatus th, td { border: 1px solid gray; } +table.cxxstatus td:nth-child(3) { text-align:center; } /* Classpath versus libgcj merge status page. */ Index: projects/cxx-status.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/projects/cxx-status.html,v retrieving revision 1.3 diff -u -r1.3 cxx-status.html --- projects/cxx-status.html 2 Apr 2016 10:03:18 -0000 1.3 +++ projects/cxx-status.html 2 Apr 2016 10:14:30 -0000 @@ -66,27 +67,25 @@ Removing trigraphs N4086 - 5.1 + 5.1 u8 character literals N4267 - 6 + 6 __cpp_unicode_characters >= 201411 Folding expressions N4295 - 6 + 6 __cpp_fold_expressions >= 201411 Attributes for namespaces and enumerators N4266 - - 4.9 (namespaces)
6 (enumerators) - + 4.9 (namespaces)
6 (enumerators) __cpp_namespace_attributes >= 201411
__cpp_enumerator_attributes >= 201411 @@ -95,80 +94,80 @@ Nested namespace definitions N4230 - 6 + 6 __cpp_nested_namespace_definitions >= 201411 Allow constant evaluation for all non-type template arguments N4268 - 6 + 6 __cpp_nontype_template_args >= 201411 Extending static_assert N3928 - 6 + 6 __cpp_static_assert >= 201411 [[fallthrough]] attribute P0188R1 - N/A (no fallthrough warning) + N/A (no fallthrough warning) __has_cpp_attribute(fallthrough) [[nodiscard]] attribute P0189R1 - [[gnu::warn_unused_result]] + [[gnu::warn_unused_result]] __has_cpp_attribute(nodiscard) [[maybe_unused]] attribute P0212R1 - [[gnu::unused]] + [[gnu::unused]] __has_cpp_attribute(maybe_unused) Extension to aggregate initialization P0017R1 - No + No __cpp_aggregate_bases >= 201603 Wording for constexpr lambda P0170R1 - No + No __cpp_constexpr >= 201603 Unary Folds and Empty Parameter Packs P0036R0 - 6 + 6 __cpp_fold_expressions >= 201603 Generalizing the Range-Based For Loop P0184R0 - 6 + 6 __cpp_range_based_for >= 201603 Lambda capture of *this by Value P0018R3 - No + No __cpp_capture_star_this >= 201603 Construction Rules for enum class variables P0138R2 - No + No __cpp_enum_class_init >= 201603 Hexadecimal floating literals for C++ P0245R1 - 3.0 + 3.0 __cpp_hex_float >= 201603 @@ -191,7 +190,7 @@ --> - +
@@ -242,13 +241,13 @@ - + - @@ -257,7 +256,7 @@ - @@ -266,7 +265,7 @@ - @@ -275,7 +274,7 @@ - @@ -284,7 +283,7 @@ - @@ -293,7 +292,7 @@ - @@ -301,7 +300,7 @@ - @@ -309,13 +308,13 @@ - + - @@ -323,14 +322,14 @@ - - @@ -351,7 +350,7 @@ - @@ -387,140 +386,140 @@ - + GCC 4.3 - + - + - + - - - + - + - + - + - + - + - + - - + - - - - + - + - + - @@ -529,26 +528,26 @@ - + - + - + - + @@ -556,99 +555,99 @@ - + - + - + - + - + - + - + - + - + - - + - + - - + - + - + @@ -656,128 +655,127 @@ - + - + - + - + + - + - + - + - + - + - + - + - + - + - + - + + - + - - + - +
Technical Specification Document
Tweak to certain C++ contextual conversions N33234.94.9
Binary literals N3472 + 4.3 (GNU)
4.9 (N3472)
__cpp_binary_literals >= 201304
Return type deduction for normal functions N3638 + 4.8 (N3386)
4.9 (N3638)
__cpp_decltype_auto >= 201304
Generalized lambda capture (init-capture) N3648 + 4.5 (partial)
4.9 (N3648)
__cpp_init_captures >= 201304
Generic (polymorphic) lambda expressions N3649 + 4.9 __cpp_generic_lambdas >= 201304
Variable templates N3651 + 5 __cpp_variable_templates >= 201304
Relaxing requirements on constexpr functions N3652 + 5 __cpp_constexpr >= 201304
Member initializers and aggregates N3653 + 5 __cpp_aggregate_nsdmi >= 201304
Clarifying memory allocation N3664N/AN/A
Sized deallocation N3778 + 5 __cpp_sized_deallocation >= 201309
[[deprecated]] attribute N3760 + 4.9 (N3797) __has_cpp_attribute(deprecated) >= 201309
Single-quotation-mark as a digit separator N3781 + 4.9 (N3797) __cpp_digit_separator >= 201309
Runtime-sized arrays with automatic storage duration
(Removed from the standard)
N3639?.? (GNU VLAs) + ?.? (GNU VLAs)
4.9 (N3639)
5 (GNU VLAs)
__cpp_runtime_arrays >= 198712
Rvalue references N2118GCC 4.3__cpp_rvalue_references >= 200610
    Rvalue references for *this N2439GCC 4.8.1GCC 4.8.1 __cpp_ref_qualifiers >= 200710
Initialization of class objects by rvalues N1610YesYes
Non-static data member initializers N2756GCC 4.7GCC 4.7 __cpp_nsdmi >= 200809
Variadic templates N2242GCC + GCC 4.3 __cpp_variadic_templates >= 200704
    Extending variadic template template parameters N2555GCC + GCC 4.4
Initializer lists N2672GCC 4.4GCC 4.4 __cpp_initializer_lists >= 200806
Static assertions N1720GCC 4.3GCC 4.3 __cpp_static_assert >= 200410
auto-typed variables N1984GCC 4.4GCC 4.4
    Multi-declarator auto N1737GCC 4.4GCC 4.4
    Removal of auto as a storage-class specifier N2546GCC 4.4GCC 4.4
    New function declarator syntax N2541GCC 4.4GCC 4.4
New wording for C++0x lambdas N2927GCC 4.5GCC 4.5 __cpp_lambdas >= 200907
Declared type of an expression N2343GCC + GCC 4.3 __cpp_decltype >= 200707
    decltype and call expressions N3276GCC 4.8.1GCC 4.8.1
Right angle brackets N1757GCC + GCC 4.3
Default template arguments for function templates DR226GCC + GCC 4.3
Solving the SFINAE problem for expressions DR339GCC + GCC 4.4
Template aliases N2258GCC 4.7GCC 4.7 __cpp_alias_templates >= 200704
Extern templates N1987YesYes
Null pointer constant N2431GCC 4.6GCC 4.6
Strongly-typed enums N2347GCC + GCC 4.4
N2764 GCC 4.6GCC 4.6
Generalized attributes N2761GCC 4.8GCC 4.8 __cpp_attributes >= 200809;
__has_cpp_attribute(noreturn) >= 200809;
__has_cpp_attribute(carries_dependency) == 0 (not implemented)
Generalized constant expressions N2235GCC 4.6GCC 4.6 __cpp_constexpr >= 200704
Alignment support N2341GCC 4.8GCC 4.8
Delegating constructors N1986GCC 4.7GCC 4.7 __cpp_delegating_constructors >= 200604
Inheriting constructors N2540GCC 4.8GCC 4.8 __cpp_inheriting_constructors >= 200802
Explicit conversion operators N2437GCC 4.5GCC 4.5
New character types N2249GCC 4.4GCC 4.4 __cpp_unicode_characters >= 200704
Unicode string literals N2442GCC 4.5GCC 4.5 __cpp_unicode_literals >= 200710
Raw string literals N2442GCC 4.5GCC 4.5 __cpp_raw_strings >= 200710
Universal character name literals N2170GCC 4.5GCC 4.5
User-defined literals N2765GCC 4.7GCC 4.7 __cpp_user_defined_literals >= 200809
Standard Layout Types N2342GCC 4.5GCC 4.5
Defaulted and deleted functions N2346GCC + GCC 4.4
Extended friend declarations N1791GCC 4.7GCC 4.7
Extending sizeof N2253GCC 4.4GCC 4.4
Inline namespaces N2535GCC + GCC 4.4
Unrestricted unions N2544GCC 4.6GCC 4.6
Local and unnamed types as template arguments N2657GCC 4.5GCC 4.5
Range-based for N2930GCC 4.6GCC 4.6 __cpp_range_based_for >= 200907
N2928
N3206
N3272
GCC 4.7GCC 4.7
Minimal support for garbage collection and reachability-based leak detection N2670NoNo
Allowing move constructors to throw [noexcept] N3050GCC 4.6GCC 4.6
Defining move special member functions N3053GCC 4.6GCC 4.6
Concurrency
Sequence points N2239YesYes
Atomic operations N2427GCC 4.4GCC 4.4
Strong Compare and Exchange N2748GCC 4.5GCC 4.5
Bidirectional Fences N2752GCC 4.8GCC 4.8
Memory model N2429GCC 4.8GCC 4.8
Data-dependency ordering: atomics and memory model N2664GCC 4.4
(memory_order_consume)
GCC 4.4
(memory_order_consume)
Propagating exceptions N2179GCC - 4.4GCC 4.4
Abandoning a process and at_quick_exit N2440GCC 4.8GCC 4.8
Allow atomics use in signal handlers N2547YesYes
Thread-local storage N2659GCC 4.8GCC 4.8
Dynamic initialization and destruction with concurrency N2660GCC 4.3GCC 4.3
C99 Features in C++11
__func__ predefined identifier N2340GCC - 4.3GCC 4.3
C99 preprocessor N1653GCC + GCC 4.3
long long N1811GCC - 4.3GCC 4.3
Extended integral types N1988YesYes