]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: switch to std::array in RGWBulkUploadOp due to C++11 and FreeBSD. 14314/head
authorRadoslaw Zarzynski <rzarzynski@mirantis.com>
Tue, 4 Apr 2017 09:42:37 +0000 (11:42 +0200)
committerRadoslaw Zarzynski <rzarzynski@mirantis.com>
Tue, 4 Apr 2017 16:24:20 +0000 (18:24 +0200)
Before this patch RGWBulkUploadOp::terminal_errors was declared as
std::initializer_list<int>. Unfortunately, a constexpr constructor
for it is available since C++14, not C++11. This was causing build
failures on FreeBSD.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
src/rgw/rgw_op.cc
src/rgw/rgw_op.h

index a4572dd3a9478139b37753cfe125636fe7175651..4812033aea40b18f68a4ae5a73202bc1e14ddf4e 100644 (file)
@@ -5499,7 +5499,7 @@ void RGWBulkDelete::execute()
 }
 
 
-constexpr std::initializer_list<int> RGWBulkUploadOp::terminal_errors;
+constexpr std::array<int, 2> RGWBulkUploadOp::terminal_errors;
 
 int RGWBulkUploadOp::verify_permission()
 {
index abb1969eec9b666fe86af0180ab75f86ab0f4269..9aa41eca24abcaf3eb9fed20e9410d575510f3bc 100644 (file)
@@ -13,6 +13,7 @@
 
 #include <limits.h>
 
+#include <array>
 #include <memory>
 #include <string>
 #include <set>
@@ -402,8 +403,8 @@ protected:
     const std::string path;
   };
 
-  static constexpr std::initializer_list<int> terminal_errors = {
-    -EACCES, -EPERM
+  static constexpr std::array<int, 2> terminal_errors = {
+    { -EACCES, -EPERM }
   };
 
   /* FIXME:  boost::container::small_vector<fail_desc_t, 4> failures; */