root icon indicating copy to clipboard operation
root copied to clipboard

Error at the prompt may lead to the JIT not finding std::basic_ostream symbol

Open pcanal opened this issue 1 year ago • 0 comments

Check duplicate issues.

  • [X] Checked for duplicates

Description

root [0] size_t al(size_t p, size_t alignment) { return ((p + (alignment - 1)) & ~(alignment - 1)); } root [1] void printextra(size_t use, size_t p, size_t alignment) { auto realstart = al(p+use, alignment); std::cout << "alloc: " << p << " data: " << realstart << " waste: " << realstart - p - use << '\n' }; ROOT_prompt_1:1:196: error: expected ';' after expression void printextra(size_t use, size_t p, size_t alignment) { auto realstart = al(p+use, alignment); std::cout << "alloc: " << p << " data: " << realstart << " waste: " << realstart - p - use << '\n' }; ^ ; root [2] void printextra(size_t use, size_t p, size_t alignment) { auto realstart = al(p+use, alignment); std::cout << "alloc: " << p << " data: " << realstart << " waste: " << realstart - p - use << '\n'; }; root [3] printextra(24, 56, 64) cling JIT session error: Failed to materialize symbols: { (main, { __ZNSt3__1lsB7v160006INS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_c }) } root [4] .q

Reproducer

Copy/paste this on the root prompt:

size_t al(size_t p, size_t alignment) { return ((p + (alignment - 1)) & ~(alignment - 1)); } 
void printextra(size_t use, size_t p, size_t alignment) { auto realstart = al(p+use, alignment); std::cout << "alloc: " << p << " data: " << realstart << " waste: " << realstart - p - use << '\n' };
void printextra(size_t use, size_t p, size_t alignment) { auto realstart = al(p+use, alignment); std::cout << "alloc: " << p << " data: " << realstart << " waste: " << realstart - p - use << '\n'; };
printextra(24, 56, 64)

ROOT version

master

Installation method

local build

Operating system

MacOS

Additional context

No response

pcanal avatar Feb 21 '24 16:02 pcanal