Open cjdb opened 6 days ago
The following code gets warned on by misc-use-internal-linkage (note that the definition is in another source file).
module; #include <string> #include <string_view> export module greeter; export std::string greet(std::string_view greeting, std::string_view name);
FAILED: source/module_interface/CMakeFiles/greeter_module.dir/greeter_module.cpp.o source/module_interface/CMakeFiles/greeter_module.dir/greeter.pcm /usr/local/bin/cmake -E __run_co_compile --tidy="/usr/bin/clang-tidy;-p=/build/test/default-options/tests/llvm/Output/Debug.test.tmp/build;--enable-module-headers-parsing;--use-color;--extra-arg-before=--driver-mode=g++" --source=/build/test/default-options/tests/llvm/Output/Debug.test.tmp/llvm_toolchain/source/module_interface/greeter_module.cpp -- /usr/bin/clang++ --target=x86_64-unknown-linux-gnu -fdiagnostics-color=always -fstack-protector-strong -fvisibility=hidden -Werror -pedantic -Wall -Wattributes -Wcast-align -Wconversion -Wdouble-promotion -Wextra -Wformat=2 -Wnon-virtual-dtor -Wnull-dereference -Wodr -Wold-style-cast -Woverloaded-virtual -Wshadow -Wsign-conversion -Wsign-promo -Wunused -Wno-ignored-attributes -Wno-unused-command-line-argument -stdlib=libc++ -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST -fsanitize=address,undefined -fno-sanitize-recover=all -g -std=gnu++23 -MD -MT source/module_interface/CMakeFiles/greeter_module.dir/greeter_module.cpp.o -MF source/module_interface/CMakeFiles/greeter_module.dir/greeter_module.cpp.o.d @source/module_interface/CMakeFiles/greeter_module.dir/greeter_module.cpp.o.modmap -o source/module_interface/CMakeFiles/greeter_module.dir/greeter_module.cpp.o -c /build/test/default-options/tests/llvm/Output/Debug.test.tmp/llvm_toolchain/source/module_interface/greeter_module.cpp /build/test/default-options/tests/llvm/Output/Debug.test.tmp/llvm_toolchain/source/module_interface/greeter_module.cpp:7:20: error: function 'greet' can be made static or moved into an anonymous namespace to enforce internal linkage [misc-use-internal-linkage,-warnings-as-errors] 7 | export std::string greet(std::string_view greeting, std::string_view name); | ^ 30786 warnings generated. Suppressed 30785 warnings (30785 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 1 warning treated as error
System info
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04 LTS Release: 24.04 Codename: noble
$ clang --version Ubuntu clang version 19.0.0 (++20240615071947+8cc6a2469c95-1~exp1~20240615071959.215) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm-19/bin
@llvm/issue-subscribers-clang-tidy
Author: Christopher Di Bella (cjdb)
Ah, greeter.cpp (the place where greet is defined) is also flagged.
greeter.cpp
greet
The following code gets warned on by misc-use-internal-linkage (note that the definition is in another source file).
System info