From 809c1bdbc867dabbf8bc58f85215ed08bfce74dd Mon Sep 17 00:00:00 2001 From: dbonner Date: Tue, 16 Apr 2024 21:17:30 +1000 Subject: [PATCH] Add Jupyter kernels for C++20 and C++2b (Nb: C++2b is a working draft of C++23). --- .../cling/tools/Jupyter/kernel/cling-cpp20/kernel.json | 10 ++++++++++ .../cling/tools/Jupyter/kernel/cling-cpp2b/kernel.json | 10 ++++++++++ interpreter/cling/tools/Jupyter/kernel/clingkernel.py | 4 ++-- 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 interpreter/cling/tools/Jupyter/kernel/cling-cpp20/kernel.json create mode 100644 interpreter/cling/tools/Jupyter/kernel/cling-cpp2b/kernel.json diff --git a/interpreter/cling/tools/Jupyter/kernel/cling-cpp20/kernel.json b/interpreter/cling/tools/Jupyter/kernel/cling-cpp20/kernel.json new file mode 100644 index 0000000000000..2a39a6a5bdeed --- /dev/null +++ b/interpreter/cling/tools/Jupyter/kernel/cling-cpp20/kernel.json @@ -0,0 +1,10 @@ +{ + "display_name": "C++20", + "argv": [ + "jupyter-cling-kernel", + "-f", + "{connection_file}", + "--std=c++20" + ], + "language": "C++" +} diff --git a/interpreter/cling/tools/Jupyter/kernel/cling-cpp2b/kernel.json b/interpreter/cling/tools/Jupyter/kernel/cling-cpp2b/kernel.json new file mode 100644 index 0000000000000..8168c33c1ea1f --- /dev/null +++ b/interpreter/cling/tools/Jupyter/kernel/cling-cpp2b/kernel.json @@ -0,0 +1,10 @@ +{ + "display_name": "C++2b", + "argv": [ + "jupyter-cling-kernel", + "-f", + "{connection_file}", + "--std=c++2b" + ], + "language": "C++" +} diff --git a/interpreter/cling/tools/Jupyter/kernel/clingkernel.py b/interpreter/cling/tools/Jupyter/kernel/clingkernel.py index a8f850b8d13e3..3027f6556bd21 100644 --- a/interpreter/cling/tools/Jupyter/kernel/clingkernel.py +++ b/interpreter/cling/tools/Jupyter/kernel/clingkernel.py @@ -92,8 +92,8 @@ def _banner_default(self): flush_interval = Float(0.25, config=True) std = CaselessStrEnum(default_value='c++11', - values = ['c++11', 'c++14', 'c++1z', 'c++17'], - help="C++ standard to use, either c++17, c++1z, c++14 or c++11").tag(config=True); + values = ['c++11', 'c++14', 'c++1z', 'c++17', 'c++20', 'c++2b'], + help="C++ standard to use, either c++2b, c++20, c++17, c++1z, c++14 or c++11").tag(config=True); def __init__(self, **kwargs): super(ClingKernel, self).__init__(**kwargs)