summary refs log tree commit diff stats
path: root/tests/ccgbugs
diff options
context:
space:
mode:
authorheterodoxic <122719743+heterodoxic@users.noreply.github.com>2023-06-04 08:56:11 +0200
committerGitHub <noreply@github.com>2023-06-04 08:56:11 +0200
commit0d4d70f15c8c440a3b71cc3b39d677520221f3e0 (patch)
treee64e0c9a7fada14a9daa376af82164b87cbbeb71 /tests/ccgbugs
parent929cb4d6017455b1749d2e3d7d1d903046f66163 (diff)
downloadNim-0d4d70f15c8c440a3b71cc3b39d677520221f3e0.tar.gz
shallow fix for #21972, #18552 by moving std::exception_ptr to the parent sco… (#21988)
shallow fix for #21972 by moving std::exception_ptr to the parent scope, minor cleanup
Diffstat (limited to 'tests/ccgbugs')
-rw-r--r--tests/ccgbugs/t21972.nim33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/ccgbugs/t21972.nim b/tests/ccgbugs/t21972.nim
new file mode 100644
index 000000000..58d0cfc62
--- /dev/null
+++ b/tests/ccgbugs/t21972.nim
@@ -0,0 +1,33 @@
+discard """

+    targets: "c cpp"

+    outputsub: "Error: unhandled exception: Err2 [IOError]"

+    exitcode: "1"

+"""

+

+proc bar(x: var int) =

+  inc x

+  if x == 3:

+    raise newException(ValueError, "H0")

+

+  elif x == 5:

+    raise newException(IOError, "H1")

+

+  elif x > 7:

+    raise newException(IOError, "H2")

+

+

+proc foo() =

+  var i = 0

+  while true:

+    try:

+      bar(i)

+      echo i

+

+    except ValueError:

+      debugEcho("ValueError")

+

+    except IOError:

+      raise newException(IOError, "Err2")

+

+when isMainModule:

+  foo()
\ No newline at end of file