GCC
https://gcc.gnu.org/gcc-5/changes.html 網羅的ではなく、気になったものだけ抽出して書いています。 C++11、C++14関係の対応状況は、cpprefjpサイトにもほぼ反映しました。 C++14を全実装 変数テンプレート 宣言時のメンバ初期化を持つ型の集成体初期化を…
GCC 4.9.0 released, full of improved C++11 and C++14 features C++14対応が主ですが、C++11にも、以下のサポート改善が入っています。 <regex>をサポート <map>、<set>、<unordered_map>、<unordered_set>に、ステートフルアロケータのサポートを追加 <regex>は、昨年のGoogle Summer of Codeで学生さんが実装し</regex></unordered_set></unordered_map></set></map></regex>…
GCCにバグ報告:最適化オプションを付けるとBoost.Spiritのプログラムが吹っ飛ぶ 先日GCCにバグ報告した件ですが、GCCのバグではありませんでした。@k_satodaさんに教えてもらいました。 Boost.Spirit.Qiが内部で使っているBoost.Protoの式テンプレートが、…
Bug 59709 - break program behavior with optimization GCC 4.8.1、GCC 4.8.2で最適化オプション(たとえば-O2)を付けると、Boost.Spiritを使ったコードが吹っ飛びます。 吹っ飛びますというのは、プログラムの次の行が実行されず、どこかに行ってしまう、と…
GCC 4.8 Release Series GCC 4.8.2がリリースされました。 これは、GCC 4.8シリーズのバグフィックスバージョンになります。 私が報告したバグも2件修正されています。Bug 58098 - wrong return value of normal_distribution::min() Bug 58302 - compilatio…
GCC 4.8 Release Series Changes, New Features, and Fixes アナウンスが遅くなりましたが、GCC 4.8.1がリリースされています。 このバージョンでは、decltypeのN3276仕様に対応、メンバ関数の左辺値 or 右辺値によるオーバーロードという機能が追加され、C+…
GCC 4.8 Release Series Changes, New Features, and Fixes C++周りの変更は以下。 言語 thread_localキーワードのサポートを追加。 属性構文のサポートを追加。GCCに元々あった独自属性も、C++11属性の構文で提供されるようになりました。 alignas属性のサ…
Bug 53515 - InputIterator version std::advance needs negative check GCCとVCにバグ報告: std::advance()の負数チェック 少し前に報告してた問題が修正されました。 assertを1行足すだけですが。
Bug 53515 - InputIterator version std::advance needs negative check InputIterator/ForwardIteratorバージョンのstd::advanceに負数チェックがない 些細なものですがバグ報告しました。
Bug 53080 - tuple interface to std::array doesn't check boundsstd::arrayに対するstd::tuple_elementの特殊化で、境界チェックが行われていない std::arrayに対するstd::tuple_elementの特殊化とstd::get()関数のオーバーロードでは、インデックス値Iがa…
decltypeした型のメンバを使用する機能は、GCCでは4.7から使用できるようになったようです。備忘記。 #include <iostream> #include <map> #include <boost/range/algorithm/for_each.hpp> int main() { const std::map<std::string, int> m = { {"Alice", 16}, {"Bob", 32}, {"Carol", 23} }; boost::for_each(m, [](decltype(m)::</std::string,></boost/range/algorithm/for_each.hpp></map></iostream>…
GCC 4.7 Release Series Changes, New Features, and Fixes 遅くなってしまいましたが、2012/03/22(木)にGCC 4.7.0がリリースされました。 リリースノートからC++11周りの変更点を抜粋します。 C++11を使用可能にするためのオプションをこれまで-std=c++0x, …
Transactional Memory in GCC gcc 4.7 adds Transactional Memory for c/c++ - reddit GCCの言語拡張で、Transactional Memoryを書くための構文と属性が提供されるようです。 __transaction_atomic { c = a - b; } コンパイラの恩恵が受けられると最適化に期…
以下の4つです。 #include <iostream> #include <vector> #include <algorithm> template <class T> class smart_ptr { T* p_; public: smart_ptr() : p_(0) {} explicit operator bool() const // 1.明示的な型変換演算子 { return p_ != 0; } }; int main() { smart_ptr<int> p; if (p) {} // int x = </int></class></algorithm></vector></iostream>…
φ(..)メモメモ... g++ -Wall -o sample main.cpp -std=gnu++0x -I "C:\Program Files\boost\boost_1_39_0" なぜかうまくいかなかった例 g++ -Wall -o sample main.cpp -std=gnu++0x -I "/cygdrive/c/Program Files/boost/boost_1_39_0/"g++ -Wall -o …
ネタ元:blog.y4su0.com - gcc 4.3.1 を Windows で使ってみる Windows用にビルドされたGCCのバイナリがあると聞いたのでインストールしてみました。ここからgcc 4.4-20090123のsnapshot版をダウンロードして、インストーラを使ってインストール とても簡単…
ConceptGCC の新バージョンが出たと聞いたのでここから「August 7, 2008 -- ConceptGCC 4.3.0 Alpha 7」の cygwin 版をダウンロードしてインストールして PATH=/opt/conceptgcc-4.3.0-alpha-7/bin:${PATH} conceptg++ main.cppとすると cc1plus.exe が落ちま…
C++0x Language Support in GCCStatus of Experimental C++0x Support in GCC 4.4 4.4 かードラフトに入ったばかりで実際使ってみないと効果があまり実感できないものが入るな
ConceptGCCにはあったConceptと拡張for文がなくなってる。。。とても残念です
「-std=c++0x」のオプションを付けるとC++0xのコードがコンパイルできる このオプションを指定しないと↓のようなコンパイルエラーになる 「error: ISO C++ does not include variadic templates」 右辺値参照とかだと「&&演算子なんか使えないよ」という感じ…
かそくそうち - gcc4.3.0ビルドメモ を見ながらやったらcygwinでインストールできました GCC 4.3.0のダウンロード先はここ GCCの前にFLEXとmakeとm4とMPFRとGMPをインストールしました GCCのインストールだけで6時間くらいかかった。。。 ただ、インストール…
http://gcc.gnu.org/ cygwinで使えないかなー・・・誰かLinuxマシンちょーだい
ほしかったものがGCCにはあるんですね。http://d.hatena.ne.jp/sulpsulpc/20070729 struct pi { static const double value = 3.14159265358979323846; }; GCC(Cygwin)にWindows用のIDEとかないのかなー。MinGWって、最新のGCC使えるのかな? GCCの言語拡張…