10a47c91cSRobert Mustacchi#
20a47c91cSRobert Mustacchi# One of the problems that we can encounter involves trying to typedef a struct
30a47c91cSRobert Mustacchi# that has an error in it. The problem here is that we actually create the type
40a47c91cSRobert Mustacchi# itself for the struct before we add members. So what we need is something that
50a47c91cSRobert Mustacchi# will fail validation. So here we go!
60a47c91cSRobert Mustacchi#
70a47c91cSRobert Mustacchi
8f76ff24cSBryan CantrillTMPFILE="$(mktemp -p /tmp mtest.XXXXXX)"
90a47c91cSRobert Mustacchiif [[ -z "$TMPFILE" ]]; then
100a47c91cSRobert Mustacchi	echo "Failed to get a temp file" 2>&1
110a47c91cSRobert Mustacchi	exit 1
120a47c91cSRobert Mustacchifi
130a47c91cSRobert Mustacchi
140a47c91cSRobert Mustacchi$MDB <<EOF
150a47c91cSRobert Mustacchi::typedef "struct foo { int r; }" foo_t
160a47c91cSRobert Mustacchi::typedef -l ! cat > $TMPFILE
170a47c91cSRobert MustacchiEOF
180a47c91cSRobert Mustacchi
190a47c91cSRobert MustacchiDATA=$(cat $TMPFILE)
200a47c91cSRobert Mustacchirm -f $TMPFILE
210a47c91cSRobert Mustacchi
220a47c91cSRobert Mustacchi[[ -z $DATA ]]
23