OSDN Git Service

Fix a problematic logic at unswitch-loops pass.
[pf3gnuchains/gcc-fork.git] / move-if-change
1 #!/bin/sh
2 # Like mv $1 $2, but if the files are the same, just delete $1.
3 # Status is zero if successful, nonzero otherwise.
4
5 usage="$0: usage: $0 SOURCE DEST"
6
7 case $# in
8 2) ;;
9 *) echo "$usage" >&2; exit 1;;
10 esac
11
12 for arg in "$1" "$2"; do
13   case $arg in
14    -*) echo "$usage" >&2; exit 1;;
15   esac
16 done
17
18 if test -r "$2" && cmp -s "$1" "$2"; then
19   rm -f "$1"
20 else
21   mv -f "$1" "$2"
22 fi