|
7 | 7 |
|
8 | 8 | cd $(dirname $0)
|
9 | 9 | HDRS="ItaniumDemangle.h ItaniumNodes.def StringViewExtras.h Utility.h"
|
| 10 | +TEST_HDRS="DemangleTestCases.inc" |
10 | 11 | LLVM_DEMANGLE_DIR=$1
|
| 12 | +LLVM_TESTING_DIR= |
11 | 13 |
|
12 | 14 | if [[ -z "$LLVM_DEMANGLE_DIR" ]]; then
|
13 | 15 | LLVM_DEMANGLE_DIR="../../../llvm/include/llvm/Demangle"
|
| 16 | + LLVM_TESTING_DIR=$LLVM_DEMANGLE_DIR/../Testing/Demangle |
14 | 17 | fi
|
15 | 18 |
|
16 | 19 | if [[ ! -d "$LLVM_DEMANGLE_DIR" ]]; then
|
17 | 20 | echo "No such directory: $LLVM_DEMANGLE_DIR" >&2
|
18 | 21 | exit 1
|
19 | 22 | fi
|
20 | 23 |
|
21 |
| -read -p "This will overwrite the copies of $HDRS in $LLVM_DEMANGLE_DIR; are you sure? [y/N]" -n 1 -r ANSWER |
| 24 | +if [[ ! -d "$LLVM_TESTING_DIR" ]]; then |
| 25 | + LLVM_TESTING_DIR="../../../llvm/include/llvm/Testing/Demangle" |
| 26 | +fi |
| 27 | + |
| 28 | +if [[ ! -d "$LLVM_TESTING_DIR" ]]; then |
| 29 | + echo "No such directory: $LLVM_TESTING_DIR" >&2 |
| 30 | + exit 1 |
| 31 | +fi |
| 32 | + |
| 33 | +read -p "This will overwrite the copies of $HDRS in $LLVM_DEMANGLE_DIR and $TEST_HDRS in $LLVM_TESTING_DIR; are you sure? [y/N]" -n 1 -r ANSWER |
22 | 34 | echo
|
23 | 35 |
|
24 |
| -if [[ $ANSWER =~ ^[Yy]$ ]]; then |
25 |
| - cp -f README.txt $LLVM_DEMANGLE_DIR |
26 |
| - chmod -w $LLVM_DEMANGLE_DIR/README.txt |
27 |
| - for I in $HDRS ; do |
28 |
| - rm -f $LLVM_DEMANGLE_DIR/$I |
29 |
| - dash=$(echo "$I---------------------------" | cut -c -27 |\ |
30 |
| - sed 's|[^-]*||') |
31 |
| - sed -e '1s|^//=*-* .*\..* -*.*=*// *$|//===--- '"$I $dash"'-*- mode:c++;eval:(read-only-mode) -*-===//|' \ |
32 |
| - -e '2s|^// *$|// Do not edit! See README.txt.|' \ |
33 |
| - $I >$LLVM_DEMANGLE_DIR/$I |
34 |
| - chmod -w $LLVM_DEMANGLE_DIR/$I |
| 36 | +copy_files() { |
| 37 | + local src=$1 |
| 38 | + local dst=$2 |
| 39 | + local hdrs=$3 |
| 40 | + |
| 41 | + cp -f README.txt $dst |
| 42 | + chmod -w $dst/README.txt |
| 43 | + |
| 44 | + for I in $hdrs ; do |
| 45 | + rm -f $dst/$I |
| 46 | + dash=$(echo "$I---------------------------" | cut -c -27 |\ |
| 47 | + sed 's|[^-]*||') |
| 48 | + sed -e '1s|^//=*-* .*\..* -*.*=*// *$|//===--- '"$I $dash"'-*- mode:c++;eval:(read-only-mode) -*-===//|' \ |
| 49 | + -e '2s|^// *$|// Do not edit! See README.txt.|' \ |
| 50 | + $src/$I >$dst/$I |
| 51 | + chmod -w $dst/$I |
35 | 52 | done
|
| 53 | +} |
| 54 | + |
| 55 | +if [[ $ANSWER =~ ^[Yy]$ ]]; then |
| 56 | + copy_files . $LLVM_DEMANGLE_DIR $HDRS |
| 57 | + copy_files ../../test $LLVM_TESTING_DIR $TEST_HDRS |
36 | 58 | fi
|
0 commit comments