Issue with undeclaring variables

Hey guys,

I tried registering a jira account to file a bug report, But i can’t seem to find a way to do so. I’ll post the issue im having here instead

I want to undeclare variables. I can do this with the .undo directive in the interpreter. However redeclaring with assignment seems to be ineffective.

root [0] int c = 4;
root [1] c
(int) 4
root [2] .undo 2
root [3] double c = 3.14;
root [4] c
(double) 1.976263e-323
root [5] c = 3.14;
root [6] c
(double) 3.140000e+00
root [7] int d = 22;
root [8] d
(int) 22
root [9] .undo 2
root [10] double d;
root [11] d
(double) 1.086944e-322
root [12] d = 2134.234;
root [13] d
(double) 2.134234e+03

Examine lines 3,4, c is declared with 3.14 as assignment, however it never got assigned. line 5 rectified this problem even though it should have worked the first time.

Now examine lines 11-13. The single assignment worked as expected the first time

This leads me to conclude that this is a bug. Can someone confirm this?

I’ve tested this with root 6.06.00, 6.04.06
NOTE: for 6.06.00, you need to call .undo 3 instead of undo 2, I don’t know why

Thanks

This is indeed a problem. I create the ticket at sft.its.cern.ch/jira/browse/ROOT-7939

Cheers,
Philippe.

…and you can create an account for JIRA here: account.cern.ch/account/Externals/

Cheers, Axel.

Done, thanks!

I’m not sure to mark this as solved

Hi @d4nf,

This forum topic was referenced in ROOT-7939. Please, refer to the JIRA issue for the solution. Also, see Support for redefinitions in Cling, ROOT’s C++ interpreter - ROOT.

Cheers,
J.