[libcxx-commits] [PATCH] D63296: [libc++] Fix build with gcc 4.8

Tom Anderson via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jun 13 13:13:44 PDT 2019


thomasanderson created this revision.
thomasanderson added a reviewer: EricWF.
thomasanderson added a project: libc++.
Herald added a subscriber: ldionne.

gcc 4.8.4 (but not 5.4.0 or 7.3.0) has trouble initializing errc with {}, giving
the error in [1].  This CL switches to explicitly using `errc(0)`, which gcc 4.8
accepts.

[1] https://bugs.chromium.org/p/chromium/issues/detail?id=973723


Repository:
  rCXX libc++

https://reviews.llvm.org/D63296

Files:
  include/charconv


Index: include/charconv
===================================================================
--- include/charconv
+++ include/charconv
@@ -314,7 +314,7 @@
 
 #if !defined(_LIBCPP_COMPILER_MSVC)
     if (__tx::digits <= __diff || __tx::__width(__value) <= __diff)
-        return {__tx::__convert(__value, __first), {}};
+        return {__tx::__convert(__value, __first), errc(0)};
     else
         return {__last, errc::value_too_large};
 #else


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63296.204617.patch
Type: text/x-patch
Size: 447 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20190613/0a2321e8/attachment.bin>


More information about the libcxx-commits mailing list