タグ

clangに関するt-murachiのブックマーク (15)

  • LLVMがWindowsのデバッグ情報フォーマットのPDBをサポート

    LLVM Project Blog: LLVM on Windows now supports PDB Debug Info この数年、clangをWindowsでソフトウェア開発するための世界級のツールチェインにするために尽力してきた。このことについては、すでに何度も書いてきたことだ。LLVMは完全なABI互換を実現した(ただしバグ互換ではない)。互換性を実現するのが難しい分野にデバッグ情報があるが、この2年間で、LLVMは飛躍的な発展をとげた。とりあえず結論を先に書くとこうだ。WindowsでClangを使うと、PDBデバッグ情報が出せる。 背景:CodeView VS PDB CodeViewは1980年台の中頃にMicrosoftによって考案されたデバッグ情報フォーマットだ。様々な理由で、他のデバッガーはDWARFという独立したフォーマットを開発し、これは標準化されて、多くのコンパ

    t-murachi
    t-murachi 2017/09/04
    「果たしてMicrosoft社内にPDBの詳細なドキュメントはあるのか」<ないだろうね^_^;
  • Visual StudioにClangフロントエンドがやってくる


    22 Microsoft promises Clang for Windows in November Visual C++ update  The Register CppConMicrosoftVisual StudioClang MicrosoftC++Visual StudioClang AndroidiOSVisual StudioGCCClang使WindowsClangMSC++()Clang使
    t-murachi
    t-murachi 2015/11/02
    なんにしても選択肢が増えるのはええことやな。
  • clang-format plugin for Visual Studio - C++でゲームプログラミング


    LLVM  clang-format plugin for Visual Studio  LLVM Snapshot Builds clang-format plugin for Visual Studio  Visual Studio   LLVM 3.4  Visual Studio 
    clang-format plugin for Visual Studio - C++でゲームプログラミング
    t-murachi
    t-murachi 2014/07/27
    えっ? えっ? これって、 cl.exe を clang に置き換えてしかも IntelliSense も clang ベースで動いてくれるようにできるってこと? (違ったらごめん
  • FreeBSD 10はGCCからLLVM/Clangに移行する

    [Phoronix] FreeBSD 10 To Use Clang Compiler, Deprecate GCC FreeBSDのGCC離れが加速しているようだ。FreeBSD 10では、Clangがデフォルトのコンパイラーとなり、GCCはdeprecated扱いとなる。FreeBSDの思想からすれば、GNUのツールチェインからなるべく離れたいのは分かる。Clangのライセンスは、FreeBSDにとって非常に都合がいい。 すでにFreeBSDのカーネルは、Clangによって警告なしでコンパイルが通るそうだ。FreeBSDのパッケージも、「Clangでビルドできなければバグ」とみなして、問題の洗い出しを進めているそうだ。 LLVMとClangは、最近、目覚しい発展をしている。GCCがコードベースのモジュール化を検討するほど危機感を持つのも分かる。 その他のFreeBSDの動向については、

  • GCC4.8はClangに近づく - にゃははー

    GCC4.8からdiagnostic messageを改良する動きが出ています。 http://gcc.gnu.org/wiki/ClangDiagnosticsComparison GCC4.6からdiagnostic messageの改良が始まっていましたが、これまでのは例えば struct S { ... snip ... } int i; というコードで意味不明なエラーメッセージが出ていたのを、セミコロンが抜けているといった質的なメッセージに修正するといったものでした。 $ cat hoge.c struct S { } int i; $ gcc-4.4 hoge.c hoge.c:5: error: two or more data types in declaration specifiers $ gcc-4.6 hoge.c hoge.c:5:1: error: expec

    GCC4.8はClangに近づく - にゃははー
    t-murachi
    t-murachi 2012/04/27
    ライバルの存在ってすばらすぃ…
  • gcc-4.7におけるnon-satatic data member initializer とthis


    C++11non-static data member initializer struct X { int a = 10; // X10 X() : a(10) /*  */ {} }; this使 struct X { size_t sz = sizeof(*this); //  int arr[sizeof(*this)];  //  }; gcc-4.7 struct X { void f() { struct Y { size_t sz = sizeof(*this); // Y int arr[sizeof(*this)]; // 
    t-murachi
    t-murachi 2012/04/17
    この bug はちょっと恐いな…。
  • 次期 C++ ではポインタ演算は定数式になるようだ/次期 C++ の constexpr 化を考える - ボレロ村上 - ENiyGmaA Code

    §5.19 Constant expressions (N3290 より抜粋) 2 A conditional-expression is a core constant expression unless it involves one of the following as a potentially evaluated subexpression (3.2), but subexpressions of logical AND (5.14), logical OR (5.15), and conditional (5.16) operations that are not evaluated are not considered [ Note: An overloaded operator invokes a function.-end note ]: (中略) a subtract

    次期 C++ ではポインタ演算は定数式になるようだ/次期 C++ の constexpr 化を考える - ボレロ村上 - ENiyGmaA Code
    t-murachi
    t-murachi 2012/04/12
    これはインパクト大きいな… そして clang …w
  • LLVM 3.1 は 5月14日にリリース予定 - C++でゲームプログラミング


    The LLVM Compiler Infrastructure LLVM 3.1 416 - Branching for 3.1 release 416422 - Phase 1 testing 423429 - Bug fixing for Phase 1 issues, all features completed 430506 - Phase 2 testing 507513 - Addressing Phase 2 514 - Release of 3.1!  C++ Now!  LLVM 3.1   LLVM 3.0 1 C++11  Windows
    LLVM 3.1 は 5月14日にリリース予定 - C++でゲームプログラミング
    t-murachi
    t-murachi 2012/04/06
    Ubuntu に載るとしたら早くても 12.10 辺りからかなぁ…
  • Vim で C++ の宣言箇所へ飛ぶ - C++でゲームプログラミング


    libclang使 - only 1 truth llvm/clang  c-index-test  tools 使 C++ Vim script  c-index-test.exe llvm/clang  clang 3.1(trunk)  C++11 clang  [] clang c-index-test llvm/clang  neocomplcache 使 [
    Vim で C++ の宣言箇所へ飛ぶ - C++でゲームプログラミング
    t-murachi
    t-murachi 2012/04/05
    これは便利。
  • clangにinheriting constructorが実装されない理由


    Clangopaque-enum-declaration2AttributeInheriting constructorsInheriting constructors freenodeDouglas GregorInheriting constructorsInheriting constructors Inheriting constructorsVariadic TemplatesDouglas Gregor US-65:
    t-murachi
    t-murachi 2012/03/28
    humm...
  • GCC 5はモジュール化できるか

    [Phoronix] Talk Of GCC 5.0 To Be Modular, More Like LLVM David Malcolm - GCC 5? (was Re: GCC 4.7.0RC: Mangled names in cc1) 聞説、今のGCCのコードは、やや悲惨な部類に入るらしい。十分な実績があり正しく動くのは確かだが、コードはほとんどCで書かれており、名前空間もなく、グローバルな状態が多く、スレッドもない。これはつまり、GCCは他のソフトウェアに組み込むのが難しい。 一方、LLVMは、設計段階からモジュール化を念頭に置いており、GCCよりはるかに後発なのにもかかわらず、他のソフトウェアに組み込む用途で広く使われている。たとえば、 MesaのGallium3Dとか、OpenCLとか、Monoとかで、JITコンパイルを実現するために、すでに使われている。他にもLLVMを

    t-murachi
    t-murachi 2012/03/21
    humm... やっぱり未来は clang の方が明るいのかなぁ…。
  • ちょっとみないうちにClangがすごいことになってる


    freenodeClangClangC++11ClangGCCClangClang Clang - C++98 and C++11 Status  Forward declarations for enumsGeneralized attributesInheriting constructorsinheriting constructor
    t-murachi
    t-murachi 2012/03/18
    これについては、 osyo-manga タソがブログで追ってて下さってたおかげでおいらも知ってた。
  • clang 3.1(trunk) に Universal character names in literals が実装された - C++でゲームプログラミング


    user-defined literals   C++11 implementation status GIT mirror [] #include <string> #include <cassert> int main(){ char16_t const* s = u"\u307b\u3080"; assert(s == std::u16string(u"")); return 0; } clang  [] clang++ (LLVM) 3.1 20120311(trunk) [] http://d.hatena.ne.jp/faith_and_brave/20081009/1223548246 http://www.yourname.
    clang 3.1(trunk) に Universal character names in literals が実装された - C++でゲームプログラミング
    t-murachi
    t-murachi 2012/03/11
    やっとキタコレ(;_;)/
  • constexpr 関数内ではローカルクラスが定義出来ない - C++でゲームプログラミング


     C++11 constexpr constexpr int func(){ // clang3.1 error: types cannot be defined in a constexpr function class X{}; return 10; } 使   gcc4.7  [] constexpr clang3.1  [] struct error_division_by_zero{ int operator()() const{ throw("divisio
    constexpr 関数内ではローカルクラスが定義出来ない - C++でゲームプログラミング
    t-murachi
    t-murachi 2012/03/05
    GCC いろいろできすぎだろ… 気を付けないとなぁ…。
  • clang 3.1(trunk) に Initializer lists が実装された - C++でゲームプログラミング

    [C++11 Implementation status] [ソース] #include <vector> #include <iostream> template<typename T> void disp(std::initializer_list<T> list){ for(auto&& n : list){ std::cout << n << std::endl; } } struct X{ X() : elems{1, 2, 3}{} int elems[3]; }; int main(){ std::vector<int> v = {1, 2, 3, 4, 5}; std::vector<std::vector<int>> vv = { {0, 1, 2}, {3, 4, 5}, {7, 8, 9} }; disp({1, 2, 3}); X x; for(auto&& n :

    clang 3.1(trunk) に Initializer lists が実装された - C++でゲームプログラミング
    t-murachi
    t-murachi 2012/02/27
    clang ペース速いな…。
  • 1