Skip to content

Conversation

@perovic
Copy link
Contributor

@perovic perovic commented Aug 13, 2015

1st commit: Do not randomly add to lookup results during EvaluateT()
Axel fixed the notorious bug which prevented having templated printValue() functions in the "RuntimePrintValue.h" header which is declared programmatically on the first printValue()invocation. Runtime resolving of some identifiers was used when it shouldn't be. Moving the checking of this condition to the beginning of the function fixed the issue.

2nd commit: Removed old printValue from TDatime and TString

3rd commit: New printValue integration

4th commit: Re-added printValue functionality to TString and TDatime

5th, final commit: Minor fix

@perovic perovic changed the title Do not randomly add to lookup results during EvaluateT(). New printValue() integration Aug 13, 2015
@perovic perovic force-pushed the master branch 3 times, most recently from 26d4321 to 167da58 Compare August 14, 2015 13:08
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you re-implement the string_view overload in a next revision?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do. I put it in TString.h again, as the required header is not included in RuntimePrintValue.h. Let me know if I should move it there. Thanks!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this hex?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed - std::ostringstream prints void pointers as, for example, "0x12dab47b".

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is subject to threading issues, while the following is not:
static int forceRuntimePVInclusion = V.getInterpreter()->declare("#include \"cling/Interpreter/RuntimePrintValue.h\"";
Can you try whether that works?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants