
# xtc - The eXTensible Compiler
# Copyright (C) 2006 New York University
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.

# Collect all of the function definitions
//FunctionDefinition ,

# Of the function definitions, store the names of the ones with 
# empty bodies
for $fdef in . return 
  if isNull($fdef/CompoundStatement/*) then 
    $fdef/FunctionDeclarator/SimpleDeclarator/*
  else ()
,

# Now select the function calls that use the above functions
let $names be ., $fcalls be //FunctionCall return
  for $fcall in $fcalls return
    let $fname be $fcall/PrimaryIdentifier/* return
      if similar($fname, $names)
        then $fcall
        else ()
   



