Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Clang integration?

(1/9) > >>

infinigon:
Are there any plans for integrating Code::Blocks with Clang? I've only looked over it briefly, but it looks to integrate much more tightly with IDE's, like aiding with static code analysis and transformation
http://clang.llvm.org/features.html#applications

Also, I don't know whether Clang's AST could benefit Code::Blocks' code-completion redesign?

ollydbg:
Not sure How hard to integrate Clang to codeblocks.  :D

--- Quote ---Currently, clang is divided into the following libraries and tool:

    * libsupport - Basic support library, from LLVM.
    * libsystem - System abstraction library, from LLVM.
    * libbasic - Diagnostics, SourceLocations, SourceBuffer abstraction, file system caching for input source files.
    * libast - Provides classes to represent the C AST, the C type system, builtin functions, and various helpers for analyzing and manipulating the AST (visitors, pretty printers, etc).
    * liblex - Lexing and preprocessing, identifier hash table, pragma handling, tokens, and macro expansion.
    * libparse - Parsing. This library invokes coarse-grained 'Actions' provided by the client (e.g. libsema builds ASTs) but knows nothing about ASTs or other client-specific data structures.
    * libsema - Semantic Analysis. This provides a set of parser actions to build a standardized AST for programs.
    * libcodegen - Lower the AST to LLVM IR for optimization & code generation.
    * librewrite - Editing of text buffers (important for code rewriting transformation, like refactoring).
    * libanalysis - Static analysis support.
    * libindex - Cross-translation-unit infrastructure and indexing support.
    * clang - A driver program, client of the libraries at various levels.
--- End quote ---

seems: librewrite can support code refactoring.

infinigon:
Eh, I just found this from about a year ago:
http://forums.codeblocks.org/index.php?topic=11268.0

Sorry about the redundancy (note to self: GIYF), but still, this would be useful to have, especially for the future as Clang becomes more mature and capable.

reckless:
made a build of llvm/llvm-gcc svn and binutils.

includes native python and gdb.

ftp://90.184.233.166:21/LLVM.7z

can be used with msys also if you add the folder to fstab instead of the normal mingw.
like so C:/LLVM. /mingw

for msys autotool based builds you might have to tell the autotools what C and C++ compilers to use like this CC=llvm-gcc CXX=llvm-g++

mingw32-make is not included but the one from mingw site works just fine.

only handles c/c++ and fortran atm. ada cannot be built with gcc-4.5.1 i use to bootstrap as the version of gcc from llvm is a rather ancient one 4.2.1

ollydbg:

--- Quote from: reckless on November 11, 2010, 03:40:46 am ---made a build of llvm/llvm-gcc svn and binutils.

includes native python and gdb.

ftp://90.184.233.166:21/LLVM.7z

can be used with msys also if you add the folder to fstab instead of the normal mingw.
like so C:/LLVM. /mingw

for msys autotool based builds you might have to tell the autotools what C and C++ compilers to use like this CC=llvm-gcc CXX=llvm-g++

mingw32-make is not included but the one from mingw site works just fine.

only handles c/c++ and fortran atm. ada cannot be built with gcc-4.5.1 i use to bootstrap as the version of gcc from llvm is a rather ancient one 4.2.1



--- End quote ---

So, this is a full package that can replace the mingw-gcc ??

Edit: it was 120M + .... to big...

BTW:
the link should be fixed to:

ftp://90.184.233.166:21/LLVM.7z

Navigation

[0] Message Index

[#] Next page

Go to full version