Skip to content

Cling version 0.4

Compare
Choose a tag to compare
@vgvassilev vgvassilev released this 06 Jun 14:50
· 1380 commits to master since this release

Introduction

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.

What's New in Cling 0.4?

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.

Major New Features

  • Clang and LLVM optimizations of interpreted code, defaults to -O2 (tweak with
    .O <N>)
  • Support unicode
  • Enable C++ modules builds for cling when built with clang
  • Functions can be declared at cling's prompt without .rawInput

Cling as a Library

  • Add a simple demo introducing cling as
    an interpreter library

Misc

  • Enable colors at the prompt
  • Increase support in printing out objects such as printing of structs and
    collections
  • Improve performance in code transformations for interactive use
  • Improve matching of runtime and build time environments
  • Improve stability of the cpt.py build tool

Experimental Features

  • Progress with support on Windows
  • Progress with PowerPC 64
  • Preprocessed Output: cling now has the ability to generate preprocessed output
    cling -E -dM will show all preprocessor definitions at startup

Jupyter

  • Support of current Jupyter versions fixing ZMQ communication issues
  • Support for c++11, c++14 and c++1z kernels

Fixed Bugs

ROOT-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

Special Kudos

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)