'Why is homebrew g++ calling clang?

I am trying to compile a c++ program on MacOS 12.3 Monterey. I have installed g++ using homebrew. This is what happens with g++-11 -I/usr/local/include -std=c++17 -c --verbose main.cpp:

Using built-in specs.
COLLECT_GCC=g++-11
Target: x86_64-apple-darwin19
Configured with: ../configure --prefix=/usr/local/opt/gcc --libdir=/usr/local/opt/gcc/lib/gcc/11 --disable-nls --enable-checking=release --with-gcc-major-version-only --enable-languages=c,c++,objc,obj-c++,fortran,d --program-suffix=-11 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl --with-zstd=/usr/local/opt/zstd --with-pkgversion='Homebrew GCC 11.3.0' --with-bugurl=https://github.com/Homebrew/homebrew-core/issues --enable-libphobos --build=x86_64-apple-darwin19 --with-system-zlib --disable-multilib --with-native-system-header-dir=/usr/include --with-sysroot=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.3.0 (Homebrew GCC 11.3.0)
COLLECT_GCC_OPTIONS='-I' '/usr/local/include' '-std=c++17' '-c' '-v' '-mmacosx-version-min=12.3.0' '-asm_macosx_version_min=12.3' '-nodefaultexport' '-shared-libgcc' '-mtune=core2'
 /usr/local/Cellar/gcc/11.3.0/bin/../libexec/gcc/x86_64-apple-darwin19/11/cc1plus -quiet -v -I /usr/local/include -iprefix /usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/x86_64-apple-darwin19/11/ -D__DYNAMIC__ main.cpp -fPIC -quiet -dumpbase main.cpp -dumpbase-ext .cpp -mmacosx-version-min=12.3.0 -mtune=core2 -std=c++17 -version -o /var/folders/bz/l9fym6l14vscvg_lt86w2g300000gq/T//cchgO6dt.s
GNU C++17 (Homebrew GCC 11.3.0) version 11.3.0 (x86_64-apple-darwin19)
    compiled by GNU C version 11.3.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/x86_64-apple-darwin19/11/../../../../../../x86_64-apple-darwin19/include"
ignoring duplicate directory "/usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/../../../../lib/gcc/11/gcc/x86_64-apple-darwin19/11/../../../../../../include/c++/11"
ignoring duplicate directory "/usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/../../../../lib/gcc/11/gcc/x86_64-apple-darwin19/11/../../../../../../include/c++/11/x86_64-apple-darwin19"
ignoring duplicate directory "/usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/../../../../lib/gcc/11/gcc/x86_64-apple-darwin19/11/../../../../../../include/c++/11/backward"
ignoring duplicate directory "/usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/../../../../lib/gcc/11/gcc/x86_64-apple-darwin19/11/include"
ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include"
ignoring duplicate directory "/usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/../../../../lib/gcc/11/gcc/x86_64-apple-darwin19/11/include-fixed"
ignoring nonexistent directory "/usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/../../../../lib/gcc/11/gcc/x86_64-apple-darwin19/11/../../../../../../x86_64-apple-darwin19/include"
ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/Library/Frameworks"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/x86_64-apple-darwin19/11/../../../../../../include/c++/11
 /usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/x86_64-apple-darwin19/11/../../../../../../include/c++/11/x86_64-apple-darwin19
 /usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/x86_64-apple-darwin19/11/../../../../../../include/c++/11/backward
 /usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/x86_64-apple-darwin19/11/include
 /usr/local/Cellar/gcc/11.3.0/bin/../lib/gcc/11/gcc/x86_64-apple-darwin19/11/include-fixed
 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include
 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks
End of search list.
GNU C++17 (Homebrew GCC 11.3.0) version 11.3.0 (x86_64-apple-darwin19)
    compiled by GNU C version 11.3.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 3e95e9e16fdcccab6808bb1300bbd8b1
COLLECT_GCC_OPTIONS='-I' '/usr/local/include' '-std=c++17' '-c' '-v' '-mmacosx-version-min=12.3.0'  '-nodefaultexport' '-shared-libgcc' '-mtune=core2'
 as -arch x86_64 -v -I /usr/local/include -mmacosx-version-min=12.3 -force_cpusubtype_ALL -o main.o /var/folders/bz/l9fym6l14vscvg_lt86w2g300000gq/T//cchgO6dt.s
Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin21.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
clang: error: invalid version number in '-mmacosx-version-min=12.3'

I don't understand the following things:

  • Why is g++ even calling clang? What is it used for?
  • Why does it call the outdated version from Developer Tools? I have a recent LLVM installed via homebrew.


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source