xref: /llvm-project/libclc/check_external_calls.sh (revision 9253950ec1690e786ba1cdaaf3234fb30b633eab)
1#!/bin/sh
2
3FILE=$1
4BIN_DIR=$2
5if [ ! -f $FILE ]; then
6  echo "ERROR: Not a file: $FILE"
7  exit 3
8fi
9ret=0
10
11DIS="$BIN_DIR/llvm-dis"
12if [ ! -x $DIS ]; then
13  echo "ERROR: Disassembler '$DIS' is not executable"
14  exit 3
15fi
16
17TMP_FILE=$(mktemp)
18
19# Check for calls. Calls to llvm intrinsics are OK
20$DIS < $FILE | grep ' call ' | grep -v '@llvm' > "$TMP_FILE"
21COUNT=$(wc -l < "$TMP_FILE")
22
23if [ "$COUNT" -ne "0" ]; then
24  echo "ERROR: $COUNT unresolved calls detected in $FILE"
25  cat $TMP_FILE
26  ret=1
27else
28  echo "File $FILE is OK"
29fi
30exit $ret
31