Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] LLVM plug-in NPE

> On 14 Feb 2017, at 17:09, Marc-André Laperle <marc-andre.laperle@xxxxxxxxxxxx> wrote:
> ... the preferences pages for setting the paths should be removed


> ... It also adds includes to all configs in the workspace, which seems backwards.

I'm not sure I understand this.

> - LLVM with GCC. Is that for Dragonegg? I think that's deprecated so it could be removed for simplification.

I don't know, on macOS I use both the gcc & clang versions.

> - Why is clang set to emit-llvm instead of object files? Is it for performance reasons or??

with emit-llvm the compiler produces byte codes, and the linker combines them, makes some global optimisations which were not possible at file level, and finally generates the binary code. latest GCC also got something similar, named LTO (Link Time Optimizations).

some more details that perhaps might be addressed:

- prefix/suffix; since I run my tests on multiple compiler versions, I have configurations that use clang-3.8, clang-3.9, and I also foresee cases when I'll use something like arm-none-eabi-clang-5.2; similarly for GCC I have configurations which use gcc-5, gcc-6, as arm-none-eabi-gcc.

in GNU ARM Eclipse plug-ins I have common toolchain definitions with prefix/suffix, and even full control over all program names; perhaps something similar can be considered here.

- multiple definitions for different platforms, like Linux, MacOS, etc; are these really necessary? aren't these multiple definitions impacting portability? or at least perceived portability? for example, if I create a project on my macOS and use the "LLVM with clang (MacOS)" toolchain, and later the project will be used on Linux or Windows, is it normal for the toolchain name to display MacOS? the same problem applies to existing GCC toolchain definitions.

perhaps a single toolchain definitions could be used for all platforms, and specific names could be entered as prefix/suffix, or similar methods.



Back to the top