[clang] Clarify documentation for -funique-source-file-names. (PR #135832)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 15 11:28:35 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Peter Collingbourne (pcc)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/135832.diff
1 Files Affected:
- (modified) clang/docs/UsersManual.rst (+23-3)
``````````diff
diff --git a/clang/docs/UsersManual.rst b/clang/docs/UsersManual.rst
index d4656a7e63c99..c75e409dde55e 100644
--- a/clang/docs/UsersManual.rst
+++ b/clang/docs/UsersManual.rst
@@ -2301,11 +2301,31 @@ are listed below.
When enabled, allows the compiler to assume that each object file
passed to the linker has been compiled using a unique source file
- name. This is useful for reducing link times when doing ThinLTO
+ path. This is useful for reducing link times when doing ThinLTO
in combination with whole-program devirtualization or CFI.
- A misuse of this flag will generally result in a duplicate symbol
- error at link time.
+ The full source path passed to the compiler must be unique. This
+ means that, for example, the following is a usage error:
+
+ .. code-block:: console
+
+ $ cd foo
+ $ clang -funique-source-file-names -c foo.c
+ $ cd ../bar
+ $ clang -funique-source-file-names -c foo.c
+ $ cd ..
+ $ clang foo/foo.o bar/foo.o
+
+ but this is not:
+
+ .. code-block:: console
+
+ $ clang -funique-source-file-names -c foo/foo.c
+ $ clang -funique-source-file-names -c bar/foo.c
+ $ clang foo/foo.o bar/foo.o
+
+ A misuse of this flag will generally either be harmless or result
+ in a duplicate symbol error at link time.
.. option:: -fforce-emit-vtables
``````````
</details>
https://github.com/llvm/llvm-project/pull/135832
More information about the cfe-commits
mailing list