File tree Expand file tree Collapse file tree 1 file changed +23
-3
lines changed Expand file tree Collapse file tree 1 file changed +23
-3
lines changed Original file line number Diff line number Diff line change @@ -2301,11 +2301,31 @@ are listed below.
2301
2301
2302
2302
When enabled, allows the compiler to assume that each object file
2303
2303
passed to the linker has been compiled using a unique source file
2304
- name . This is useful for reducing link times when doing ThinLTO
2304
+ path . This is useful for reducing link times when doing ThinLTO
2305
2305
in combination with whole-program devirtualization or CFI.
2306
2306
2307
- A misuse of this flag will generally result in a duplicate symbol
2308
- error at link time.
2307
+ The full source path passed to the compiler must be unique. This
2308
+ means that, for example, the following is a usage error:
2309
+
2310
+ .. code-block :: console
2311
+
2312
+ $ cd foo
2313
+ $ clang -funique-source-file-names -c foo.c
2314
+ $ cd ../bar
2315
+ $ clang -funique-source-file-names -c foo.c
2316
+ $ cd ..
2317
+ $ clang foo/foo.o bar/foo.o
2318
+
2319
+ but this is not:
2320
+
2321
+ .. code-block :: console
2322
+
2323
+ $ clang -funique-source-file-names -c foo/foo.c
2324
+ $ clang -funique-source-file-names -c bar/foo.c
2325
+ $ clang foo/foo.o bar/foo.o
2326
+
2327
+ A misuse of this flag may result in a duplicate symbol error at
2328
+ link time.
2309
2329
2310
2330
.. option :: -fforce-emit-vtables
2311
2331
You can’t perform that action at this time.
0 commit comments