[clang-tools-extra] [doc] Add documentation for clang-change-namespace (PR #148277)

Konrad Kleine via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 18 23:50:33 PDT 2025


================
@@ -0,0 +1,155 @@
+======================
+Clang-Change-Namespace
+======================
+
+.. contents::
+
+.. toctree::
+  :maxdepth: 1
+
+:program:`clang-change-namespace` can be used to change the surrounding
+namespaces of class/function definitions.
+
+Classes/functions in the moved namespace will have new namespaces while
+references to symbols (e.g. types, functions) which are not defined in the
+changed namespace will be correctly qualified by prepending namespace specifiers
+before them. This will try to add shortest namespace specifiers possible.
+
+When a symbol reference needs to be fully-qualified, this adds a `::` prefix to
+the namespace specifiers unless the new namespace is the global namespace. For
----------------
kwk wrote:

@tJener that is correct. As @nikic pointed out in a chat, this tool looks unmaintained. Most of the content changes in [here](https://github.com/llvm/llvm-project/blame/main/clang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp) look like as if they are 9 years old. The fact that you, @tJener and @AaronBallman ask these very specific questions lets me think that it is also not in active use. I'm going to go on PTO soon but I will put all my questions on my list to address when I'm back.

https://github.com/llvm/llvm-project/pull/148277


More information about the cfe-commits mailing list