diff options
author | cooldome <cdome@bk.ru> | 2020-03-19 19:38:25 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-19 20:38:25 +0100 |
commit | b3176b881744242b6c0041024a46a17c7b73c788 (patch) | |
tree | d18d660c08efb53bea1022d212fed5619032bb26 /koch.nim | |
parent | 034dad8e321edcf6cf88a2ad93fceafae267cc74 (diff) | |
download | Nim-b3176b881744242b6c0041024a46a17c7b73c788.tar.gz |
Attempt to finish off araq cpp exceptions (#13695)
* config update * disable a questionable test * remove c++ exception handling IDs, new impl doesn't require it anymore * C++ based exceptions finally work * fixes bootstrapping problem in C++ mode * teach GCC it's 2020 now * more bugfixes for C++ based exception handling * apply cooldome's patch * another attempt to enable C++11 * bug fix Co-authored-by: Araq <rumpf_a@web.de> Co-authored-by: cooldome <ariabushenko@bk.ru>
Diffstat (limited to 'koch.nim')
-rw-r--r-- | koch.nim | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/koch.nim b/koch.nim index 60d0e3544..dc23488a7 100644 --- a/koch.nim +++ b/koch.nim @@ -296,7 +296,11 @@ proc boot(args: string) = let nimStart = findStartNim().quoteShell() for i in 0..2: - let defaultCommand = if useCpp: "cpp" else: "c" + # Nim versions < (1, 1) expect Nim's exception type to have a 'raiseId' field for + # C++ interop. Later Nim versions do this differently and removed the 'raiseId' field. + # Thus we always bootstrap the first iteration with "c" and not with "cpp" as + # a workaround. + let defaultCommand = if useCpp and i > 0: "cpp" else: "c" let bootOptions = if args.len == 0 or args.startsWith("-"): defaultCommand else: "" echo "iteration: ", i+1 var extraOption = "" |