summaryrefslogtreecommitdiff
path: root/utils/llvmgrep
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-06-19 20:32:55 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-06-19 20:32:55 +0000
commit2d67208306d7b3cc183265832b85cb0f4cf7cc37 (patch)
tree8b6142bae0cb7d3cb8b3fb0235b50af0ad0be439 /utils/llvmgrep
parent56b7ee20dad7160a117ea0d102fc5432074ce2d0 (diff)
downloadllvm-2d67208306d7b3cc183265832b85cb0f4cf7cc37.tar.gz
llvm-2d67208306d7b3cc183265832b85cb0f4cf7cc37.tar.bz2
llvm-2d67208306d7b3cc183265832b85cb0f4cf7cc37.tar.xz
A utility to search the LLVM source tree for a grep pattern. This is a
replacement for getsrcs.sh which now generates too much text to put on a Linux command line. The approach taken with llvmgrep is to execute a find command and execute a grep on each file that matches the name pattern. The arguments to this script are the same as those of egrep. Note that the -H and -n options to egrep will always be passed so that you always get the file and line number of matches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14255 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/llvmgrep')
-rwxr-xr-xutils/llvmgrep22
1 files changed, 22 insertions, 0 deletions
diff --git a/utils/llvmgrep b/utils/llvmgrep
new file mode 100755
index 0000000000..89027e301a
--- /dev/null
+++ b/utils/llvmgrep
@@ -0,0 +1,22 @@
+#!/bin/sh
+# This is useful because it prints out all of the source files. Useful for
+# greps.
+PATTERN=$*
+TOPDIR=`pwd | sed -e 's#(.*/llvm).*#$1#'`
+if test -d "$TOPDIR" ; then
+ cd $TOPDIR
+ find docs include lib tools utils projects -type f \
+ \( -path '*/doxygen/*' -o -path '*/Burg/*' \) -prune -o \
+ -name '*.[cdhyl]*' \
+ \! -name '*~' \
+ \! -name '#*' \
+ \! -name '*.ll' \
+ \! -name '*.d' \
+ \! -name '*.dir' \
+ \! -name 'Sparc.burm.c' \
+ \! -name 'llvmAsmParser.cpp' \
+ \! -name 'llvmAsmParser.h' \
+ \! -name 'FileParser.cpp' \
+ \! -name 'FileParser.h' \
+ -exec egrep -H -n $PATTERN {} \;
+fi