From d49c6707d07389e4bccdb23951dc9d3bc20996b1 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Wed, 5 Nov 2025 17:48:47 +0000 Subject: [PATCH] [libcxxabi][demangle] Fix the cp-to-llvm.sh sync script to copy all headers (#166572) In https://github.com/llvm/llvm-project/pull/137947 I refactored the script and added a `copy_files` function, which takes the header files to copy as an argument. But because the list of headers is a space separated string, we need to quote the string. Otherwise we would just copy the first header in the list. This patch also adds an `echo` statement in the `copy_files` loop to print the source/destination. Confirming that the files are copied as expected. ``` $ libcxxabi/src/demangle/cp-to-llvm.sh This will overwrite the copies of ItaniumDemangle.h ItaniumNodes.def StringViewExtras.h Utility.h in ../../../llvm/include/llvm/Demangle and DemangleTestCases.inc in ../../../llvm/include/llvm/Demangle/../Testing/Demangle; are you sure? [y/N]y Copying ./ItaniumDemangle.h to ../../../llvm/include/llvm/Demangle/ItaniumDemangle.h Copying ./ItaniumNodes.def to ../../../llvm/include/llvm/Demangle/ItaniumNodes.def Copying ./StringViewExtras.h to ../../../llvm/include/llvm/Demangle/StringViewExtras.h Copying ./Utility.h to ../../../llvm/include/llvm/Demangle/Utility.h Copying ../../test/DemangleTestCases.inc to ../../../llvm/include/llvm/Demangle/../Testing/Demangle/DemangleTestCases.inc ``` Luckily there weren't any out-of-sync changes introduced in the meantime. --- libcxxabi/src/demangle/cp-to-llvm.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxxabi/src/demangle/cp-to-llvm.sh b/libcxxabi/src/demangle/cp-to-llvm.sh index f773dff9f0a8..9c1db6fec29a 100755 --- a/libcxxabi/src/demangle/cp-to-llvm.sh +++ b/libcxxabi/src/demangle/cp-to-llvm.sh @@ -42,6 +42,7 @@ copy_files() { chmod -w $dst/README.txt for I in $hdrs ; do + echo "Copying ${src}/$I to ${dst}/$I" rm -f $dst/$I dash=$(echo "$I---------------------------" | cut -c -27 |\ sed 's|[^-]*||') @@ -53,6 +54,6 @@ copy_files() { } if [[ $ANSWER =~ ^[Yy]$ ]]; then - copy_files . $LLVM_DEMANGLE_DIR $HDRS - copy_files ../../test $LLVM_TESTING_DIR $TEST_HDRS + copy_files . $LLVM_DEMANGLE_DIR "${HDRS}" + copy_files ../../test $LLVM_TESTING_DIR "${TEST_HDRS}" fi