Most of the cases were where a C++ file was being compiled with the C substitution. There were a few cases of the opposite though. LLDB seems to be the only real culprit in the LLVM codebase for these mismatches. Rest of the LLVM presumably sticks at least language-specific options in the common substitutions making the mistakes immediately apparent. I found these by using Clang frontend configuration files containing language-specific options for both C and C++ (e.g. `-std=c2y` and `-std=c++26`).
20 lines
377 B
Makefile
20 lines
377 B
Makefile
CXX_SOURCES := main.cpp
|
|
LD_EXTRAS := ns1.o ns2.o ns3.o ns4.o
|
|
|
|
a.out: main.o ns1.o ns2.o ns3.o ns4.o
|
|
|
|
ns1.o: common.cpp
|
|
$(CXX) -gdwarf -c -DNAMESPACE=ns1 -o $@ $<
|
|
|
|
ns2.o: common.cpp
|
|
$(CXX) -gdwarf -c -DNAMESPACE=ns2 -o $@ $<
|
|
|
|
ns3.o: common.cpp
|
|
$(CXX) -gdwarf -c -DNAMESPACE=ns3 -o $@ $<
|
|
|
|
ns4.o: common.cpp
|
|
$(CXX) -gdwarf -c -DNAMESPACE=ns4 -o $@ $<
|
|
|
|
|
|
include Makefile.rules
|