hans added a comment. The build system folks replied saying they're not using symlinks, but hard links for compiler inputs. Dropping the `-s` flag in the repro above demonstrates this.
Here's a new version of the reproducer that's a little less convoluted: $ echo 1, 2, 3 > /tmp/foo.h $ ln /tmp/foo.h /tmp/bar.h $ cat > /tmp/a.cc int foo_table[] = { #include "/tmp/foo.h" }; int bar_table[] = { #include "/tmp/bar.h" }; $ build/bin/clang -E -o - /tmp/a.cc # 1 "/tmp/a.cc" # 1 "<built-in>" 1 # 1 "<built-in>" 3 # 437 "<built-in>" 3 # 1 "<command line>" 1 # 1 "<built-in>" 2 # 1 "/tmp/a.cc" 2 int foo_table[] = { # 1 "/tmp/foo.h" 1 1, 2, 3 # 3 "/tmp/a.cc" 2 }; int bar_table[] = { # 1 "/tmp/foo.h" 1 <------ Should be bar.h. 1, 2, 3 # 6 "/tmp/a.cc" 2 }; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135220/new/ https://reviews.llvm.org/D135220 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits