Bot releases are hidden (Show)
This document contains the release notes for the interactive C++ interpreter Cling, release 1.0. Cling is built on top of Clang and LLVM compiler infrastructure. Here we describe the status of Cling in some detail, including major improvements from the previous release and new feature work.
Note that if you are reading this file from a git checkout or the main Cling web page, this document applies to the next release, not the current one.
Some of the major new features and improvements to Cling are listed here. Generic improvements to Cling as a whole or to its underlying infrastructure are described first.
CLING_DEBUG
and CLING_PROFILE
.help edit
to show line editor keybindings${CLING_HISTFILE}
and its size with ${CLING_HISTSIZE}
.help
and .class
commandsROOT-10962 ROOT-10484 ROOT-9687 ROOT-9202 ROOT-7775 ROOT-7016 ROOT-6095 ROOT-5971 ROOT-5219
GH-13815 GH-12779 GH-12457 GH-12455 GH-13429 GH-12409 GH-12294 GH-12151 GH-11937 GH-11933 GH-11329 GH-11927 GH-10209 GH-10182 GH-10180 GH-10137 GH-10136 GH-10135 GH-10133 GH-10057 GH-9850 GH-9697 GH-9664 GH-9449 GH-8499 GH-8389 GH-8304 GH-8292 GH-8157 GH-8141 GH-7541 GH-7483 GH-7366
This release wouldn't have happened without the efforts of our contributors, listed in the form of Firstname Lastname (#contributions):
FirstName LastName (#commits)
Vassil Vassilev (131)
Jonas Hahnfeld (71)
Axel Naumann (66)
Javier Lopez-Gomez (48)
saisoma123 (29)
ferdymercury (12)
Jiang Yi (11)
Bertrand Bellenot (10)
Sergey Linev (9)
Stephan Lachnit (4)
Guilherme Amadio (4)
Surya Somayyajula (3)
Simeon Ehrig (3)
Stefan Gränitz (2)
Maksymilian Graczyk (2)
Garima Singh (2)
Duncan Ogilvie (2)
Baidyanath Kundu (2)
Sara Bellei (1)
Oksana Shadura (1)
Mikolaj Krzewicki (1)
Mattias Ellert (1)
Karel Balej (1)
Jonas Rembser (1)
Enrico Guiraud (1)
Danilo Piparo (1)
Published by vgvassilev over 3 years ago
This document contains the release notes for the interactive C++ interpreter Cling, release 0.9. Cling is built on top of Clang and LLVM compiler infrastructure. Here we describe the status of Cling in some detail, including major improvements from the previous release and new feature work.
Note that if you are reading this file from a git checkout or the main Cling web page, this document applies to the next release, not the current one.
Some of the major new features and improvements to Cling are listed here. Generic improvements to Cling as a whole or to its underlying infrastructure are described first.
--cuda-path
option.ROOT-10962
ROOT-7775
ROOT-10703
ROOT-10962
ROOT-GH-7021
ROOT-GH-7090
ROOT-GH-7657
CLING-GH-399
This release wouldn't have happened without the efforts of our contributors,
listed in the form of Firstname Lastname (#contributions):
FirstName LastName (#commits)
Vassil Vassilev (80)
Axel Naumann (29)
Simeon Ehrig (9)
Pratyush Das (7)
Jonas Hahnfeld (7)
Javier Lopez-Gomez (1)
Enrico Guiraud (1)
David (1)
Bertrand Bellenot (1)
Published by vgvassilev almost 4 years ago
This document contains the release notes for the interactive C++ interpreter Cling, release 0.8. Cling is built on top of Clang and LLVM compiler infrastructure. Here we describe the status of Cling in some detail, including major improvements from the previous release and new feature work.
Note that if you are reading this file from a git checkout or the main Cling web page, this document applies to the next release, not the current one.
Some of the major new features and improvements to Cling are listed here. Generic improvements to Cling as a whole or to its underlying infrastructure are described first.
This release wouldn't have happened without the efforts of our contributors,
listed in the form of Firstname Lastname (#contributions):
FirstName LastName (#commits)
Vassil Vassilev (7)
Pratyush Das (4)
Javier Lopez-Gomez (4)
Axel Naumann (4)
Philippe Canal (2)
Vaibhav Garg (1)
Sylvain Corlay (1)
Henry Schreiner (1)
Published by vgvassilev about 4 years ago
This document contains the release notes for the interactive C++ interpreter Cling, release 0.7. Cling is built on top of Clang and LLVM compiler infrastructure. Here we describe the status of Cling in some detail, including major improvements from the previous release and new feature work.
Note that if you are reading this file from a git checkout or the main Cling web page, this document applies to the next release, not the current one.
Some of the major new features and improvements to Cling are listed here. Generic improvements to Cling as a whole or to its underlying infrastructure are described first.
[cling] #include "cling/Interpreter/Interpreter.h"
[cling] gCling->allowRedefinition()
ROOT-10193 ROOT-10224 ROOT-10285 ROOT-10333 ROOT-10354 ROOT-10426 ROOT-10499 ROOT-10511 ROOT-10677 ROOT-10689 ROOT-10751 ROOT-10777 ROOT-10791 ROOT-10798 ROOT-10803 ROOT-10812 ROOT-10917
This release wouldn't have happened without the efforts of our contributors,
listed in the form of Firstname Lastname (#contributions):
FirstName LastName (#commits)
Vassil Vassilev (57)
Pratyush Das (35)
Axel Naumann (28)
Simeon Ehrig (13)
Javier Lopez-Gomez (13)
Vaibhav Garg (8)
Philippe Canal (7)
Bertrand Bellenot (7)
Frederich Munch (3)
Chris Burr (2)
pankaj kumar (1)
Stephan Hageboeck (1)
Sergey Linev (1)
Oksana Shadura (1)
Martin Ritter (1)
Jonas Hahnfeld (1)
Enrico Guiraud (1)
Alexander Penev (1)
Published by vgvassilev about 5 years ago
This document contains the release notes for the interactive C++ interpreter Cling, release 0.6. Cling is built on top of Clang and LLVM compiler infrastructure. Here we describe the status of Cling in some detail, including major improvements from the previous release and new feature work.
Note that if you are reading this file from a git checkout or the main Cling web page, this document applies to the next release, not the current one.
Some of the major new features and improvements to Cling are listed here. Generic improvements to Cling as a whole or to its underlying infrastructure are described first.
-O0
ROOT-6967 ROOT-7749 ROOT-8863 ROOT-8897 ROOT-8991 ROOT-9114 ROOT-9377 ROOT-9672 ROOT-9738 ROOT-9789 ROOT-9924 ROOT-10097 ROOT-10221
This release wouldn't have happened without the efforts of our contributors, listed in the form of Firstname Lastname (#contributions):
FirstName LastName (#commits)
Vassil Vassilev (94)
Axel Naumann (87)
Simeon Ehrig (25)
Bertrand Bellenot (23)
Yuka Takahashi (17)
Danilo Piparo (13)
Raphael Isemann (5)
Guilherme Amadio (5)
Philippe Canal (4)
Oksana Shadura (4)
Vaibhav Garg (2)
Sylvain Corlay (2)
Saagar Jha (2)
Nikita Ermakov (2)
Dheepak Krishnamurthy (2)
xloem (1)
vagrant (1)
straydragon (1)
simeon (1)
lizhangwen (1)
Wolf Behrenhoff (1)
Nathan Daly (1)
Jason Detwiler (1)
Houkime (1)
Damien L-G (1)
Aleksander Gajewski (1)
Published by vgvassilev almost 7 years ago
This document contains the release notes for the interactive C++ interpreter Cling, release 0.5. Cling is built on top of Clang and LLVM compiler infrastructure. Here we describe the status of Cling in some detail, including major improvements from the previous release and new feature work.
Note that if you are reading this file from a git checkout or the main Cling web page, this document applies to the next release, not the current one.
Some of the major new features and improvements to Cling are listed here. Generic improvements to Cling as a whole or to its underlying infrastructure are described first.
Evaluate
functions.This release wouldn't have happened without the efforts of our contributors,
listed in the form of Firstname Lastname (#contributions):
FirstName LastName (#commits)
Axel Naumann (68)
Frederich Munch (62)
Vassil Vassilev (28)
Raphael Isemann (21)
Bertrand Bellenot (10)
Roman Zulak (9)
Philippe Canal (4)
Danilo Piparo (3)
gouarin (1)
Yuki Yamaura (1)
Published by vgvassilev over 7 years ago
This document contains the release notes for the interactive C++ interpreter
Cling, release 0.4. Cling is built on top of Clang and
LLVM compiler infrastructure. Here we
describe the status of Cling in some detail, including major
improvements from the previous release and new feature work.
Note that if you are reading this file from a git checkout or the main
Cling web page,
this document applies to the next release, not the current one.
Some of the major new features and improvements to Cling are listed
here. Generic improvements to Cling as a whole or to its underlying
infrastructure are described first.
.O <N>
).rawInput
cpt.py
build toolROOT-7016
ROOT-8739
ROOT-8696
ROOT-8523
ROOT-8399
ROOT-7354
ROOT-8529
ROOT-8467
ROOT-6539
ROOT-8443
ROOT-7037
ROOT-8443
ROOT-8379
ROOT-8375
ROOT-8392
ROOT-7610
ROOT-5248
ROOT-7857
ROOT-8300
ROOT-8325
This release wouldn't have happened without the efforts of our contributors,
listed in the form of Firstname Lastname (#contributions):
FirstName LastName (#commits)
Frederich Munch (235)
Axel Naumann (191)
Roman Zulak (66)
Vassil Vassilev (63)
Bertrand Bellenot (45)
Philippe Canal (29)
erlanger (7)
Danilo Piparo (4)
Raphael Isemann (3)
Pere Mato (3)
David Abdurachmanov (2)
Sylvain Corlay (1)
Spencer Lyon (1)
Sebastian Uhl (1)
Santiago Castro (1)
PrometheusPi (1)
Pedro Henriques dos Santos Teixeira (1)
Maarten Scholl (1)
Diego Torres Quintanilla (1)
CristinaCristescu (1)
Brian Bockelman (1)
Boris Perovic (1)
Ajith Pandel (1)
Published by vgvassilev about 8 years ago
This document contains the release notes for the interactive C++ interpreter
Cling, release 0.3. Cling is built on top of Clang and
LLVM compiler infrastructure. Here we
describe the status of Cling in some detail, including major
improvements from the previous release and new feature work.
Note that if you are reading this file from a git checkout or the
main Cling web page, this document applies to the next release, not
the current one.
Some of the major new features and improvements to Cling are listed
here. Generic improvements to Cling as a whole or to its underlying
infrastructure are described first.
ROOT-8281 ROOT-8270 ROOT-8267 ROOT-8253 ROOT-8233 ROOT-8225 ROOT-8077 ROOT-7947 ROOT-7943 ROOT-7858 ROOT-7834 ROOT-7741 ROOT-4455
This release wouldn't have happened without the efforts of our contributors,
listed in the form of Firstname Lastname (#contributions):
Vassil Vassilev (77), Axel Naumann (69), CristinaCristescu (16), Anirudha Bose (15), Frederich Munch (11), Bertrand Bellenot (8), Pere Mato (2), Philippe Canal (1).
Published by vgvassilev about 8 years ago
This document contains the release notes for the interactive C++ interpreter Cling, release 0.2. Cling is built on top of Clang and LLVM compiler infrastructure Here we describe the status of Cling in some detail, including major improvements from the previous release and new feature work.
Note that if you are reading this file from a git checkout or the main Cling web page, this document applies to the next release, not the current one.
Some of the major new features and improvements to Cling are listed here. Generic improvements to Cling as a whole or to its underlying infrastructure are described first.
Switch Cling's execution engine to use LLVM's Orc JIT. The new JIT allows Cling to support:
ARM and PowerPC architectures.
Exceptions. Cling can throw and catch exceptions from interpreted and compiled code.
[cling]$ throw new std::exception();
Exception occurred. Recovering...
Inline assembly. Cling can execute asm
statements.
[cling]$ extern "C" int printf(const char*, ...);
[cling]$ int arg1=1, arg2=2, add;
[cling]$ asm ("addl %%ebx, %%eax;" : "=a" (add) : "a" (arg1) , "b" (arg2));
[cling]$ printf( "%d + %d = %d\n", arg1, arg2, add );
1 + 2 = 3
Reduce memory usage caused by excessive memory allocations in Cling lookup routines.
Stabilize error recovery caused by handling of templated declarations.
Implement a user-extendable value streaming engine.
Implement shebang support.
Protect against invalid pointer dereferences.
[cling]$ struct S{ int a; };
[cling]$ ((S*)0x123)->a;
input_line_4:2:2: warning: invalid memory pointer passed to a callee:
((S*)0x123)->a;
^~~~~~~~~~~
[cling]$ ((S*)0)->a;
input_line_5:2:2: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
((S*)0)->a;
^~~~~~~
Redirect stderr and stdout. Cling's users can redirect the output streams.
[cling]$ // Redirects stdout to /tmp/outfile.txt
[cling]$ .> /tmp/outfile.txt
[cling]$ // Toggles back to the prompt
[cling]$ .>
[cling]$ // Redirects stderr to /tmp/errfile.txt
[cling]$ .2> /tmp/errfile.txt
[cling]$ // Redirects stdout and stderr to /tmp/bothfile.txt
[cling]$ .&> /tmp/bothfile.txt
Add #pragma cling
directives:
#pragma cling add_include_path("/include/path/")
#pragma cling add_library_path("/library/path/")
#pragma cling load("libUserLib")
Add .@
metacommand to cancel multiline user input.
Add .debug [Constant]
metacommand to tune the generated debug information.
ROOT-4760 ROOT-5467 ROOT-5607 ROOT-5698 ROOT-5844 ROOT-6153 ROOT-6185 ROOT-6345 ROOT-6365 ROOT-6385 ROOT-6611 ROOT-6625 ROOT-6650 ROOT-6692 ROOT-6695 ROOT-6705 ROOT-6712 ROOT-6719 ROOT-6755 ROOT-6791 ROOT-6824 ROOT-6832 ROOT-6909 ROOT-6942 ROOT-6976 ROOT-7031 ROOT-7037 ROOT-7041 ROOT-7090 ROOT-7092 ROOT-7095 ROOT-7114 ROOT-7159 ROOT-7163 ROOT-7184 ROOT-7269 ROOT-7276 ROOT-7295 ROOT-7310 ROOT-7364 ROOT-7426 ROOT-7462 ROOT-7614 ROOT-7619 ROOT-7673 ROOT-7737 ROOT-7744 ROOT-7837 ROOT-7840 ROOT-7918 ROOT-8034 ROOT-8056 ROOT-8096 ROOT-8111