]> granicus.if.org Git - libexpat/commitdiff
qa.sh: Add egypt support (callgraphs)
authorSebastian Pipping <sebastian@pipping.org>
Mon, 30 May 2016 18:29:33 +0000 (20:29 +0200)
committerSebastian Pipping <sebastian@pipping.org>
Mon, 30 May 2016 18:30:30 +0000 (20:30 +0200)
expat/.gitignore
expat/qa.sh

index 8907f039d5aec6a9ee18b9681159502ac483f5f5..7db88355a03db13f39428eda6f2416c46b0943e9 100755 (executable)
@@ -24,3 +24,5 @@ expat.pc
 *.gcno
 *.gcov
 *.nccout
+*.expand
+/callgraph--*
index 0dce8716dc1e8aa4001a79f4101af34e0d08396a..464eac2d910dab70be92271093fc1f9c17fcd48c 100755 (executable)
@@ -47,6 +47,9 @@ main() {
         local CXX="${GCC_CXX}"
         BASE_FLAGS+=" --coverage --no-inline"
         ;;
+    egypt)
+        BASE_FLAGS+=" -fdump-rtl-expand"
+        ;;
     memory)
         # http://clang.llvm.org/docs/MemorySanitizer.html
         BASE_FLAGS+=" -fsanitize=memory -fno-omit-frame-pointer -g -O2"
@@ -65,7 +68,7 @@ main() {
         ;;
     *)
         echo "Usage:" 1>&2
-        echo "  ${0##*/} (address|coverage|memory|ncc|undefined)" 1>&2
+        echo "  ${0##*/} (address|coverage|egypt|memory|ncc|undefined)" 1>&2
         exit 1
         ;;
     esac
@@ -85,7 +88,7 @@ main() {
         RUN "${MAKE}" clean all
 
         case "${mode}" in
-        ncc)
+        egypt|ncc)
             ;;
         *)
             RUN "${MAKE}" check run-xmltest
@@ -97,6 +100,17 @@ main() {
     coverage)
         find -name '*.gcda' | sort | xargs gcov
         ;;
+    egypt)
+        local DOT_FORMAT="${DOT_FORMAT:-svg}"
+        local i=, o=
+        while read i ; do
+            o="${i##./}";
+            o="callgraph--${o//\//--}"
+            o="${o%.c.*.expand}";
+            o="${o//./_}.${DOT_FORMAT}"
+            egypt "${i}" | dot -Grankdir=LR "-T${DOT_FORMAT}" > "${o}"
+        done < <(find -name '*.expand')
+        ;;
     ncc)
         RUN nccnav ./.libs/libexpat.a.nccout
         ;;