Quanlong Huang created ORC-1134:
-----------------------------------

             Summary: [C++] Compile error when switching branches
                 Key: ORC-1134
                 URL: https://issues.apache.org/jira/browse/ORC-1134
             Project: ORC
          Issue Type: Bug
          Components: C++
            Reporter: Quanlong Huang


I always encounter this issue when switching branches:
{code:java}
In file included from /home/quanlong/workspace/orc/c++/src/Reader.cc:19:
/home/quanlong/workspace/orc/c++/src/Reader.cc: In function 
‘std::unique_ptr<orc::proto::PostScript> orc::readPostscript(orc::InputStream*, 
orc::DataBuffer<char>*, uint64_t)’:
/home/quanlong/workspace/orc/c++/src/Adaptor.hh:127:40: error: moving a local 
object in a return statement prevents copy elision [-Werror=pessimizing-move]
  127 |   #define REDUNDANT_MOVE(XXX) std::move(XXX)
      |                               ~~~~~~~~~^~~~~
/home/quanlong/workspace/orc/c++/src/Reader.cc:1263:12: note: in expansion of 
macro ‘REDUNDANT_MOVE’
 1263 |     return REDUNDANT_MOVE(postscript);
      |            ^~~~~~~~~~~~~~
/home/quanlong/workspace/orc/c++/src/Adaptor.hh:127:40: note: remove 
‘std::move’ call
  127 |   #define REDUNDANT_MOVE(XXX) std::move(XXX)
      |                               ~~~~~~~~~^~~~~
/home/quanlong/workspace/orc/c++/src/Reader.cc:1263:12: note: in expansion of 
macro ‘REDUNDANT_MOVE’
 1263 |     return REDUNDANT_MOVE(postscript);
      |            ^~~~~~~~~~~~~~
/home/quanlong/workspace/orc/c++/src/Reader.cc: In function 
‘std::unique_ptr<orc::proto::Footer> orc::readFooter(orc::InputStream*, const 
orc::DataBuffer<char>*, uint64_t, const orc::proto::PostScript&, 
orc::MemoryPool&)’:
/home/quanlong/workspace/orc/c++/src/Adaptor.hh:127:40: error: moving a local 
object in a return statement prevents copy elision [-Werror=pessimizing-move]
  127 |   #define REDUNDANT_MOVE(XXX) std::move(XXX)
      |                               ~~~~~~~~~^~~~~
/home/quanlong/workspace/orc/c++/src/Reader.cc:1337:12: note: in expansion of 
macro ‘REDUNDANT_MOVE’
 1337 |     return REDUNDANT_MOVE(footer);
      |            ^~~~~~~~~~~~~~
/home/quanlong/workspace/orc/c++/src/Adaptor.hh:127:40: note: remove 
‘std::move’ call
  127 |   #define REDUNDANT_MOVE(XXX) std::move(XXX)
      |                               ~~~~~~~~~^~~~~
/home/quanlong/workspace/orc/c++/src/Reader.cc:1337:12: note: in expansion of 
macro ‘REDUNDANT_MOVE’
 1337 |     return REDUNDANT_MOVE(footer);
      |            ^~~~~~~~~~~~~~ {code}
Removing orc/c++/src/Adaptor.hh can workaround this.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to