Make forward declarations of external symbols really work.

Until now we had always been treating external variables as "int",
and external functions as int (...);
diff --git a/libacc/tests/data/rollo3.c b/libacc/tests/data/rollo3.c
new file mode 100644
index 0000000..b21c12f
--- /dev/null
+++ b/libacc/tests/data/rollo3.c
@@ -0,0 +1,9 @@
+
+float fabsf(float);
+
+int main(void* con, int ft, int launchID)
+{
+   float f =  fabsf(-10.0f);
+   return f;
+}
+
diff --git a/libacc/tests/test.py b/libacc/tests/test.py
index 3928277..1ae92ca 100644
--- a/libacc/tests/test.py
+++ b/libacc/tests/test.py
@@ -262,6 +262,10 @@
 Pointer comparison to zero: 0 0 1
 Pointer comparison: 1 0 0 0 1
 """)
+    def testRollo3(self):
+        self.compileCheck(["-R", "data/rollo3.c"], """Executing compiled code:
+result: 10""", """""")
+
 
 
 if __name__ == '__main__':