summaryrefslogtreecommitdiff
path: root/testsuite/tests/rts/T10672/cxxy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/rts/T10672/cxxy.cpp')
-rw-r--r--testsuite/tests/rts/T10672/cxxy.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/testsuite/tests/rts/T10672/cxxy.cpp b/testsuite/tests/rts/T10672/cxxy.cpp
new file mode 100644
index 0000000000..815d15399e
--- /dev/null
+++ b/testsuite/tests/rts/T10672/cxxy.cpp
@@ -0,0 +1,23 @@
+// Copyright (C) 2015, Luke Iannini
+
+#include <iostream>
+#include <exception>
+#include <string.h>
+
+// Make sure can call unmangled names from Haskell's FFI
+extern "C" {
+
+int talkToCxx() {
+
+ try {
+ throw 20;
+ }
+ catch (int e) {
+ std::cout << "An exception occurred. Exception Nr. " << e << '\n';
+ }
+
+ std::cout << "Hello From C++!";
+}
+
+
+}