]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix compilation error on older gcc versions and MSVC.
authorGabriela Moldovan <gabi@torproject.org>
Mon, 5 Jun 2023 14:03:39 +0000 (15:03 +0100)
committerGabriela Moldovan <gabi@torproject.org>
Mon, 5 Jun 2023 14:03:39 +0000 (15:03 +0100)
This fixes an "initializer is not a constant" compilation error that manifests
itself on gcc versions < 8.1 and MSVC (see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69960#c18).

Fixes bug #40773

Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
changes/ticket40773 [new file with mode: 0644]
src/feature/hs/hs_metrics_entry.c

diff --git a/changes/ticket40773 b/changes/ticket40773
new file mode 100644 (file)
index 0000000..0f34422
--- /dev/null
@@ -0,0 +1,4 @@
+  o Minor bugfixes (compilation):
+    - Fix "initializer is not a constant" compilation error that manifests
+      itself on gcc versions < 8.1 and MSVC. Fixes bug 40773; bugfix on
+      0.4.8.1-alpha
index 2268ba4c59bcb0edeec6b0425e2251d450d42d94..d862d0adec676b8bc3dbcfe4cbfd05aa2a625999 100644 (file)
@@ -28,8 +28,16 @@ static const int64_t hs_metrics_circ_build_time_buckets[] =
   60000  /* 60s */
 };
 
-static const size_t hs_metrics_circ_build_time_buckets_size =
-  ARRAY_LENGTH(hs_metrics_circ_build_time_buckets);
+// TODO: Define a constant for ARRAY_LENGTH(hs_metrics_circ_build_time_buckets)
+// and use where it applicable.
+//
+// This is commented out because it doesn't compile with gcc versions < 8.1
+// or with MSVC ("initializer element is not constant").
+//
+// See ticket#40773 and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69960#c18
+//
+/*static const size_t hs_metrics_circ_build_time_buckets_size =*/
+/*ARRAY_LENGTH(hs_metrics_circ_build_time_buckets);*/
 
 /** The base metrics that is a static array of metrics that are added to every
  * single new stores.
@@ -93,7 +101,7 @@ const hs_metrics_entry_t base_metrics[] =
     .type = METRICS_TYPE_HISTOGRAM,
     .name = METRICS_NAME(hs_intro_circ_build_time),
     .buckets = hs_metrics_circ_build_time_buckets,
-    .bucket_count = hs_metrics_circ_build_time_buckets_size,
+    .bucket_count = ARRAY_LENGTH(hs_metrics_circ_build_time_buckets),
     .help = "The introduction circuit build time in milliseconds",
   },
   {
@@ -101,7 +109,7 @@ const hs_metrics_entry_t base_metrics[] =
     .type = METRICS_TYPE_HISTOGRAM,
     .name = METRICS_NAME(hs_rend_circ_build_time),
     .buckets = hs_metrics_circ_build_time_buckets,
-    .bucket_count = hs_metrics_circ_build_time_buckets_size,
+    .bucket_count = ARRAY_LENGTH(hs_metrics_circ_build_time_buckets),
     .help = "The rendezvous circuit build time in milliseconds",
   },
   {