Reorganisation of the source tree
[ghc-hetmet.git] / driver / test_mangler
diff --git a/driver/test_mangler b/driver/test_mangler
new file mode 100644 (file)
index 0000000..96cf31c
--- /dev/null
@@ -0,0 +1,29 @@
+#! /usr/bin/perl
+# a simple wrapper to test a .s-file mangler
+# reads stdin, writes stdout
+
+push(@INC,"/net/dazdak/BUILDS/gransim-4.04/i386-unknown-linux/ghc/driver");
+
+$TargetPlatform = $ARGV[0]; shift; # nice error checking, Will
+
+require("ghc-asm.prl") || die "require mangler failed!\n";
+
+$SpX86Mangling = 1;
+$StolenX86Regs = 4;
+
+open(INP, "> /tmp/mangle1.$$") || die "Can't open tmp file 1\n";
+while (<>) {
+    print INP $_;
+}
+close(INP) || die "Can't close tmp file 1";
+
+&mangle_asm("/tmp/mangle1.$$", "/tmp/mangle2.$$");
+
+open(INP, "< /tmp/mangle2.$$") || die "Can't open tmp file 2\n";
+while (<INP>) {
+    print STDOUT $_;
+}
+close(INP) || die "Can't close tmp file 2";
+
+unlink("/tmp/mangle1.$$", "/tmp/mangle2.$$");
+exit(0);