Changes between Version 3 and Version 4 of CppSupport


Ignore:
Timestamp:
Jan 9, 2017, 11:30:24 PM (7 years ago)
Author:
echotangoecho
Comment:

Bump to GCC 4.7

Legend:

Unmodified
Added
Removed
Modified
  • CppSupport

    v3 v4  
    55
    660 A.D. is a cross platform game written primarily in C++ and JavaScript, and as such it has to support multiple compilers with different implemented features. Here are the currently supported compilers for the game:
    7  * GCC 4.6 or newer
     7 * GCC 4.7 or newer
    88 * Clang 3.1 or newer
    99  * Shipped with Xcode 4.3.3 on OS X
     
    1717= C++11 Core Language Features =
    1818
    19 ||= Feature =||= Example =||= GCC 4.6 =||= Clang 3.1 =||= VS 2013 =||= '''0 A.D. Support''' =||= Notes =||
     19||= Feature =||= Example =||= GCC 4.7 =||= Clang 3.1 =||= VS 2013 =||= '''0 A.D. Support''' =||= Notes =||
    2020{{{#!tr style="background: LightYellow"
    2121||Emplacement||`emplace`, `emplace_back`||  P  ||  Y  ||  Y  ||  P  || GCC < 4.8 is missing emplacement on [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44436 associative containers] ||
     
    3030||Initialization of class objects by rvalues|| ||  Y  ||  Y  ||  Y  ||  Y  || ||
    3131}}}
    32 {{{#!tr style="background: Pink"
    33 ||Non-static data member initializers||`class Foo{ public: int bar=7; };`||  N  ||  Y  ||  Y  ||  N  || ||
     32{{{#!tr style="background: LightGreen"
     33||Non-static data member initializers||`class Foo{ public: int bar=7; };`||  Y  ||  Y  ||  Y  ||  Y  || ||
    3434}}}
    3535{{{#!tr style="background: LightGreen"
     
    7575||Solving the SFINAE problem for expressions|| ||  Y  ||  Y  ||  N  ||  N  || ||
    7676}}}
    77 {{{#!tr style="background: Pink"
    78 ||Template aliases||`template<class T> using Vec = vector<T,My_alloc<T>>;`||  N  ||  Y  ||  Y  ||  N  || ||
     77{{{#!tr style="background: LightGreen"
     78||Template aliases||`template<class T> using Vec = vector<T,My_alloc<T>>;`||  Y  ||  Y  ||  Y  ||  Y  || ||
    7979}}}
    8080{{{#!tr style="background: LightGreen"
     
    9999||Alignment support||`alignas(16) char[100];`||  N  ||  N  ||  P  ||  N  || ||
    100100}}}
    101 {{{#!tr style="background: Pink"
    102 ||Delegating constructors|| ||  N  ||  Y  ||  Y  ||  N  || ||
     101{{{#!tr style="background: LightGreen"
     102||Delegating constructors|| ||  Y  ||  Y  ||  Y  ||  Y  || ||
    103103}}}
    104104{{{#!tr style="background: Pink"
     
    121121}}}
    122122{{{#!tr style="background: Pink"
    123 ||Extensible literals||`std::string operator""s (const char* p, size_t n)`||  N  ||  Y  ||  N  ||  N  || ||
     123||Extensible literals||`std::string operator""s (const char* p, size_t n)`||  Y  ||  Y  ||  N  ||  N  || ||
    124124}}}
    125125{{{#!tr style="background: LightGreen"
     
    129129||Defaulted and deleted functions||`X& operator=(const X&) = delete;`||  Y  ||  Y  ||  Y  ||  Y  || ||
    130130}}}
    131 {{{#!tr style="background: Pink"
    132 ||Extended friend declarations|| ||  N  ||  Y  ||  Y  ||  N  || ||
     131{{{#!tr style="background: LightGreen"
     132||Extended friend declarations|| ||  Y  ||  Y  ||  Y  ||  Y  || ||
    133133}}}
    134134{{{#!tr style="background: Pink"
     
    147147||Range-based for||`for (auto x : vec)`||  Y  ||  Y  ||  Y  ||  Y  || ||
    148148}}}
    149 {{{#!tr style="background: Pink"
    150 ||Explicit virtual overrides||`void f() override;`||  N  ||  Y  ||  Y  ||  N  || ||
     149{{{#!tr style="background: LightGreen"
     150||Explicit virtual overrides||`void f() override;`||  Y  ||  Y  ||  Y  ||  Y  || ||
    151151}}}
    152152{{{#!tr style="background: Pink"
     
    162162== C++11 Core Language Features: Concurrency ==
    163163
    164 ||= Feature =||= Example =||= GCC 4.6 =||= Clang 3.1 =||= VS 2013 =||= '''0 A.D. Support''' =||= Notes =||
     164||= Feature =||= Example =||= GCC 4.7 =||= Clang 3.1 =||= VS 2013 =||= '''0 A.D. Support''' =||= Notes =||
    165165{{{#!tr style="background: Pink"
    166166||Sequence points|| ||  N  ||  N  ||  N  ||  N  || ||
     
    196196== C++11 Core Language Features: C99 ==
    197197
    198 ||= Feature =||= Example =||= GCC 4.6 =||= Clang 3.1 =||= VS 2013 =||= '''0 A.D. Support''' =||= Notes =||
     198||= Feature =||= Example =||= GCC 4.7 =||= Clang 3.1 =||= VS 2013 =||= '''0 A.D. Support''' =||= Notes =||
    199199{{{#!tr style="background: Pink"
    200200||!__func!__ predefined identifier|| ||  Y  ||  Y  ||  P  ||  N  || ||
     
    212212= References =
    213213
    214 1. C++0x/C++11 Support in GCC: https://gcc.gnu.org/projects/cxx0x.html
     2141. C++0x/C++11 Support in GCC: https://gcc.gnu.org/projects/cxx0x.html and https://gcc.gnu.org/projects/cxx-status.html#cxx11
    2152151. Support For C++11 Features (Modern C++) in Visual C++: https://msdn.microsoft.com/en-us/library/hh567368.aspx
    2162161. C++ Support in Clang: http://clang.llvm.org/cxx_status.html