Search code examples
c++optimizationg++return-value-optimization

Disabling g++'s return-value optimisation


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


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]