Question

What flag(s) do I need on the command line to disable the return-value optimisation automatically enabled by the g++ compiler?

Was it helpful?

Solution

-fno-elide-constructors

The C++ standard allows an implementation to omit creating a temporary which is only used to initialize another object of the same type. Specifying this option disables that optimization, and forces G++ to call the copy constructor in all cases. [Source: man gcc]


Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top