Issue
I'm trying to understand the names of different parts of popular compilers. The compilers I'm comparing are the GNU Compiler Collection, Apple LLVM, and Microsoft Visual C++. (Are these the correct names for the compilers?) Is the following table correct:
GCC | Apple LLVM | MSVC | |
---|---|---|---|
Backend | GCC | LLVM | MSVC |
C frontend | gcc | clang | MSVC |
C++ frontend | g++ | clang++ | MSVC |
Also; if I'm compiling my C++ source files with the command clang++
on a mac:
$ clang++ --version
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
what's the name of the compiler I'm using? Should I say I'm using Apple Clang? Or Apple LLVM? Or something else?
Solution
This seems to answer the question:
GCC | Apple LLVM | MSVC | |
---|---|---|---|
Backend | GCC | LLVM | c2.dll |
C frontend | gcc | clang | c1.dll |
C++ frontend | g++ | clang++ | c1xx.dll |
Answered By - ruohola