Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] LLVM Project Blog: A path forward for an LLVM toolchain on Windows

Global index will still be needed for refactorings and for search (e.g. open definition).

Some other things project like CDT may find interesting when looking at libclang:
1. JSON compilation database - cake can emit an easily parseable "log" that lists operations executed during the build - this is useful for stuff like include locations, macros provided from the command line. There are some tools to emit it from tools other then cmake.
2. Clang is not just for C++, it has some support for C, Objective C (and even for CUDA C). API is mostly consistent, just some difference in types of possible tokens/nodes. Intel is contributing OpenMP support (AFAIK, it is not in mainline yet). There's also GSoC project named "flang" - clang-like FORTRAN compiler. I believe nothing will come out of it :) - but still. 
3. LLDB that can be consumed not only as a debugger (which is nice) but also in parts, e.g. to parse debug sections in executables - it understands things like dSym bundles on Mac. No support for PE…

On Sep 11, 2013, at 6:22 PM, Nathan Ridge <zeratul976@xxxxxxxxxxx> wrote:

>> CDT would have to switch to Clang's representation of AST. The AST  
>> could still be represented by Java objects. Clang parser (probably in a  
>> separate process to protect against memory leaks) would serialize its  
>> representation of AST and CDT would deserialize it to Java. Converting  
>> Clang's AST to the current CDT AST representation is probably not  
>> practical. Changing CDT to a different AST representation is a massive  
>> undertaking that would touch a lot of code, both in core and in UI. 
>> A potential showstopper for the whole plan is existence of such  
>> features of Clang bindings that would not allow index bindings to  
>> implement the same set of interfaces as the AST bindings. I don't know  
>> whether such features exist or not. 
> Would the distinction between AST and index bindings still need
> to exist in this hypothetical design? As far as I'm aware,
> clang's AST is for the whole translation unit, i.e. it includes
> information about included header files.
> Regards,
> Nate 		 	   		  
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx

Back to the top