octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: move constructors likely a requirement


From: John W. Eaton
Subject: Re: move constructors likely a requirement
Date: Thu, 5 Sep 2019 10:20:52 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0

On 9/5/19 7:59 AM, Carlo De Falco wrote:


Il giorno 4 set 2019, alle ore 20:14, John W. Eaton <address@hidden> ha scritto:

If I understand correctly, -Wpessimizing-move is supposed to be implied when 
compiling C++ code with GCC and using -Wall.
If I understand correctly, copy elision is mandated by the standard only since 
c++14, while we are using c++11.
Could it be possible that gcc and clang have different criteria to decide 
whether to make the optimization?

I compiled the following program with g++ 9 (the version that introduced the -Wpessimizing-move warning option) using both -std=c++17 and no -std option (defaults to c++14) and the warnings are the same in both cases.

#include <utility>

struct T {
  void show () { }
};

T fn ()
{
  T t1;

  // No warning from GCC here.
  T t2 = std::move (T ());

  t2.show ();

  // GCC does warn here.
  return std::move (t1);
}

jwe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]