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: Carlo De Falco
Subject: Re: move constructors likely a requirement
Date: Thu, 5 Sep 2019 06:57:38 +0000



> Il giorno 4 set 2019, alle ore 20:14, John W. Eaton <address@hidden> ha scritto:
>
> It is of interest.  I'd like to avoid std::move when it isn't needed. Could you send a log of all the warnings?  I'm not seeing them with GCC.  If I understand correctly, -Wpessimizing-move is supposed to be implied when compiling C++ code with GCC and using -Wall.
>
> jwe

Here is the list of the 26 instances of the warning :

26 matches for "pessimizing-move" in buffer: make.log
octave/libinterp/parse-tree/pt-binop.cc:77:30:
octave/libinterp/parse-tree/pt-binop.cc:104:38:
octave/libinterp/parse-tree/pt-binop.cc:116:26:
octave/libinterp/parse-tree/pt-binop.cc:120:30:
octave/libinterp/parse-tree/pt-binop.cc:196:26:
octave/libinterp/parse-tree/pt-binop.cc:213:30:
octave/libinterp/parse-tree/pt-cbinop.cc:42:26:
octave/libinterp/parse-tree/pt-cbinop.cc:46:30:
octave/libinterp/parse-tree/pt-colon.cc:57:28:
octave/libinterp/parse-tree/pt-colon.cc:59:29:
octave/libinterp/parse-tree/pt-colon.cc:67:41:
octave/libinterp/parse-tree/pt-colon.cc:97:26:
octave/libinterp/parse-tree/pt-eval.cc:554:30:
octave/libinterp/parse-tree/pt-eval.cc:1479:32:
octave/libinterp/parse-tree/pt-eval.cc:1517:27:
octave/libinterp/parse-tree/pt-eval.cc:1531:25:
octave/libinterp/parse-tree/pt-eval.cc:1552:33:
octave/libinterp/parse-tree/pt-eval.cc:1568:32:
octave/libinterp/parse-tree/pt-eval.cc:2087:26:
octave/libinterp/parse-tree/pt-eval.cc:2256:24:
octave/libinterp/parse-tree/pt-eval.cc:2502:24:
octave/libinterp/parse-tree/pt-eval.cc:2913:24:
octave/libinterp/parse-tree/pt-eval.cc:3363:23:
octave/libinterp/parse-tree/pt-idx.cc:556:23:
octave/libinterp/parse-tree/pt-unop.cc:77:35:
octave/libinterp/parse-tree/pt-unop.cc:138:35:

it seems this is the list of all the appearances of the pattern

  T a = std::move (b);

that were introduced by recent changes.

attached are a patch that removes all warnings and the full log of make.
i tried to measure if the change makes any performance issue by timing "make check"
but I am encountering a segmentation fault that prevents that from working.

strange enough, if I install then run __run_test_suite__ I see no crash and
I get

  PASS                            15684
  FAIL                                5
  REGRESSION                          5
  XFAIL (reported bug)               38
  SKIP (missing feature)             50
  SKIP (run-time condition)          29

c.




Attachment: patch.txt
Description: patch.txt

Attachment: make.log
Description: make.log


reply via email to

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