summaryrefslogtreecommitdiffstats
path: root/contrib/gdb/gdb/gdb_indent.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gdb/gdb/gdb_indent.sh')
-rwxr-xr-xcontrib/gdb/gdb/gdb_indent.sh34
1 files changed, 29 insertions, 5 deletions
diff --git a/contrib/gdb/gdb/gdb_indent.sh b/contrib/gdb/gdb/gdb_indent.sh
index e54e08e..b210161 100755
--- a/contrib/gdb/gdb/gdb_indent.sh
+++ b/contrib/gdb/gdb/gdb_indent.sh
@@ -36,24 +36,48 @@ fi
# Check that the indent found is both GNU and a reasonable version.
# Different indent versions give different indentation.
-case `${indent} --version 2>/dev/null < /dev/null` in
- GNU*2.2.6 ) ;;
- *GNU* ) echo "Incorrect version of GNU indent" 1>&2 ;;
- * ) echo "Indent is not GNU" 1>&2 ;;
+m1=2
+m2=2
+m3=9
+
+version=`${indent} --version 2>/dev/null < /dev/null`
+case "${version}" in
+ *GNU* ) ;;
+ * ) echo "error: GNU indent $m1.$m2.$m3 expected" 1>&2 ; exit 1;;
esac
+v1=`echo "${version}" | sed 's/^.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)$/\1/'`
+v2=`echo "${version}" | sed 's/^.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)$/\2/'`
+v3=`echo "${version}" | sed 's/^.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)$/\3/'`
+
+if test $m1 -ne $v1 -o $m2 -ne $v2 -o $m3 -gt $v3
+then
+ echo "error: Must be GNU indent version $m1.$m2.$m3 or later" 1>&2
+ exit 1
+fi
+if test $m3 -ne $v3
+then
+ echo "warning: GNU indent version $m1.$m2.$m3 recommended" 1>&2
+fi
# Check that we're in the GDB source directory
case `pwd` in
*/gdb ) ;;
+ */sim/* ) ;;
* ) echo "Not in GDB directory" 1>&2 ; exit 1 ;;
esac
# Run indent per GDB specs
-types="-T FILE `cat *.h | sed -n \
+types="\
+-T FILE \
+-T bfd -T asection -T pid_t \
+-T prgregset_t -T fpregset_t -T gregset_t -T sigset_t \
+-T td_thrhandle_t -T td_event_msg_t -T td_thr_events_t \
+-T td_notify_t -T td_thr_iter_f -T td_thrinfo_t \
+`cat *.h | sed -n \
-e 's/^.*[^a-z0-9_]\([a-z0-9_]*_ftype\).*$/-T \1/p' \
-e 's/^.*[^a-z0-9_]\([a-z0-9_]*_func\).*$/-T \1/p' \
-e 's/^typedef.*[^a-zA-Z0-9_]\([a-zA-Z0-9_]*[a-zA-Z0-9_]\);$/-T \1/p' \
OpenPOWER on IntegriCloud