Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(631)

Issue 2642053003: Allow GCC 4.9 to compile Chromium (Closed)

Created:
3 years, 11 months ago by Mike Gilbert
Modified:
3 years, 11 months ago
Reviewers:
Sergey Ulanov, jiayl2, Wez
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, qiang.lu, niklas.enbom, yujie_mao (webrtc), peah-webrtc
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Allow GCC 4.9 to compile Chromium In order to implicit cast an lvalue to an rvalue when returning from a function, the return type and type of variable in the return statement previously had to be exactly the same. When this was not the case, std::move was required. For instance, when returning a std::unique_ptr<Derived> variable in a function with a std::unique_ptr<Base> return type, std::move is required. DR 1579 changed this, and allows for implicitly converting to the return type, if the return type has a constructor(T&&), where T is the type of the local variable being returned. DR 1579 was implemented in GCC 5, but not in GCC 4.9 and below. By explicitly qualifying the local variable with std::move, we allow for compiling with GCC 4.9 and incur no performance penalty. The code is still absolutely correct to the word of C++11. BUG=chromium:682965 See also: * https://bugs.gentoo.org/show_bug.cgi?id=600288 * https://stackoverflow.com/questions/22018115/converting-stdunique-ptrderived-to-stdunique-ptrbase#comment33375875_22018521 * http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3833.html#1579 Review-Url: https://codereview.webrtc.org/2642053003 Cr-Commit-Position: refs/heads/master@{#16175} Committed: https://chromium.googlesource.com/external/webrtc/+/888874f761fdd69bb9448b3905627289b5fd66dd

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2 lines, -1 line) Patch
M AUTHORS View 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/desktop_capture/screen_capturer_x11.cc View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 16 (10 generated)
Mike Gilbert
Please have a look. Thanks!
3 years, 11 months ago (2017-01-19 21:22:32 UTC) #3
Sergey Ulanov
lgtm
3 years, 11 months ago (2017-01-19 22:16:53 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2642053003/1
3 years, 11 months ago (2017-01-19 23:32:47 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/12458)
3 years, 11 months ago (2017-01-19 23:37:58 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2642053003/1
3 years, 11 months ago (2017-01-20 03:08:45 UTC) #13
commit-bot: I haz the power
3 years, 11 months ago (2017-01-20 04:20:49 UTC) #16
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://chromium.googlesource.com/external/webrtc/+/888874f761fdd69bb9448b390...

Powered by Google App Engine
This is Rietveld 408576698