[gdb/cli] Skip string copy in source_cache::ensure

In function source_cache::ensure we have:
...
 	      std::ostringstream output;
	      ...
	      contents = output.str ();
...
The last line causes an unnecessary string copy.

C++20 allows us to skip it, like this:
...
	      contents = std::move (output).str ();
...

Use the more efficient solution.

Tested on x86_64-linux.

Reviewed-By: Lancelot Six <lancelot.six@amd.com>
This commit is contained in:
Tom de Vries 2023-10-17 11:38:06 +02:00
parent 3233ad1e4e
commit 7e56491567

View file

@ -252,7 +252,7 @@ source_cache::ensure (struct symtab *s)
std::istringstream input (contents);
std::ostringstream output;
highlighter->highlight (input, output, lang_name, fullname);
contents = output.str ();
contents = std::move (output).str ();
already_styled = true;
}
catch (...)