Created attachment 45561 [details] var tracking test case I'm seeing this on 350 line file, will attach. Could the "note: variable tracking size limit exceeded with -fvar-tracking-assignments" message be expanded? How about including the size limit, and how much would be actually required? "note: variable tracking size limit 1,000,000 bytes exceeded by 512,000 bytes" I saw there was this option, but not clear what to set it to, it's not ideal for me to need to set it. --param=max-vartrack-size= $ g++-8 -g -O2 -D_GLIBCXX_ASSERTIONS -fsanitize=undefined,address -fno-omit-frame-pointer -c var_tracking.cpp var_tracking.cpp: In function ‘bool f(const string&, std::__cxx11::string&)’: var_tracking.cpp:20:6: note: variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without bool f(const std::string & name, string & ref) ^
Could gcc even support a dynamic size? to avoid a hard coded limit?
The hard limit is there to make compiling possible in some cases. Btw, santizing makes your "small" testcase quite large. It's also of the usual repeat-many-similiar-things-in-one-functions cases where var-tracking runs into quadraticnesses. Confirmed with -O2 -g -fsanitize={undefined,address} (only need either, not both)