aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVikram S. Adve <vadve@cs.uiuc.edu>2001-10-28 21:31:33 +0000
committerVikram S. Adve <vadve@cs.uiuc.edu>2001-10-28 21:31:33 +0000
commit1b20ca21c697efe200234262435a2ad4fcbaf872 (patch)
tree987bf398656e2c4b3a25e955d4ef4c521a720031
parentdd52255e9a26fbc9b7e0cd22a2dd99b0b6bae991 (diff)
Runtime routines implementing print<TYPE> for all basic types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1000 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/runtime.c91
1 files changed, 91 insertions, 0 deletions
diff --git a/test/runtime.c b/test/runtime.c
new file mode 100644
index 0000000000..81d18ad5bc
--- /dev/null
+++ b/test/runtime.c
@@ -0,0 +1,91 @@
+#include <stdio.h>
+#include <sys/types.h>
+
+void
+printSByte(char c)
+{
+ putchar(c);
+}
+
+void
+printUByte(unsigned char c)
+{
+ putchar(c);
+}
+
+void
+printShort(short i)
+{
+ printf("%d", i);
+}
+
+void
+printUShort(unsigned short i)
+{
+ printf("%d", i);
+}
+
+void
+printInt(int i)
+{
+ printf("%d", i);
+}
+
+void
+printUInt(unsigned int i)
+{
+ printf("%d", i);
+}
+
+void
+printLong(int64_t l)
+{
+ printf("%d", l);
+}
+
+void
+printULong(uint64_t l)
+{
+ printf("%d", l);
+}
+
+void
+printString(const char* str)
+{
+ printf("%s", str);
+}
+
+void
+printFloat(float f)
+{
+ printf("%g", f);
+}
+
+void
+printDouble(double d)
+{
+ printf("%g", d);
+}
+
+#undef TEST_RUNTIME
+#ifdef TEST_RUNTIME
+int
+main(int argc, char** argv)
+{
+ int i;
+ printString("argc = ");
+ printLong(argc);
+ printString(" = (as float) ");
+ printFloat(argc);
+ printString(" = (as double) ");
+ printDouble(argc);
+ for (i=0; i < argc; i++)
+ {
+ printString("\nargv[");
+ printLong(i);
+ printString("] = ");
+ printString(argv[i]);
+ }
+ printString("\n");
+}
+#endif