https://github.com/mirusu400 created 
https://github.com/llvm/llvm-project/pull/83347

On `release/11.x` branch, build failed cause of `numeric_limits`, which are 
part of `limits` header.

```bash
ninja -C build 
ninja: Entering directory `build'
[1/3] Building CXX object 
utils/benchmark/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o
FAILED: utils/benchmark/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o 
/usr/bin/c++ -DHAVE_POSIX_REGEX -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK 
-D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS 
-D__STDC_LIMIT_MACROS 
-I/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/build/utils/benchmark/src 
-I/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/src 
-I/usr/include/libxml2 -I/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/build/include 
-I/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/include 
-I/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/include 
-I/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/src/../include 
-fPIC -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra 
-Wno-unused-parameter -Wwrite-strings -Wcast-qual 
-Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough 
-Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move 
-Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -fdiagnostics-color 
-ffunction-sections -fdata-sections  -std=c++11  -Wall  -Wextra  -Wshadow  
-pedantic  -pedantic-errors  -Wfloat-equal  -fstrict-aliasing  -fno-exceptions  
-Wstrict-aliasing -O3 -DNDEBUG -std=c++14 -MD -MT 
utils/benchmark/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o -MF 
utils/benchmark/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o.d -o 
utils/benchmark/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o -c 
/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/src/benchmark_register.cc
In file included from 
/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/src/benchmark_register.cc:15:
/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/src/benchmark_register.h:
 In function ‘void AddRange(std::vector<T>*, T, T, int)’:
/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/src/benchmark_register.h:17:30:
 error: ‘numeric_limits’ is not a member of ‘std’
   17 |   static const T kmax = std::numeric_limits<T>::max();
      |                              ^~~~~~~~~~~~~~
/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/src/benchmark_register.h:17:46:
 error: expected primary-expression before ‘>’ token
   17 |   static const T kmax = std::numeric_limits<T>::max();
      |                                              ^
/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/src/benchmark_register.h:17:49:
 error: ‘::max’ has not been declared; did you mean ‘std::max’?
   17 |   static const T kmax = std::numeric_limits<T>::max();
      |                                                 ^~~
      |                                                 std::max
In file included from /usr/include/c++/11/algorithm:62,
                 from 
/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/include/benchmark/benchmark.h:175,
                 from 
/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/src/internal_macros.h:4,
                 from 
/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/src/check.h:8,
                 from 
/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/src/benchmark_register.h:6,
                 from 
/mnt/EAE2CD0AE2CCDBC7/llvm-project-v11/llvm/utils/benchmark/src/benchmark_register.cc:15:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
ninja: build stopped: subcommand failed.

```

So, I add `limits` header on the `benchmark_register.h`.


I know 11.x is old and not maintained, but I think it's a big problem that it 
doesn't build, and I think it's a problem that I'm leaving it unattended even 
though it's easy to fix. Someone still need an old version of llvm, so I'm 
posting this PR.

Fixes #59333

>From fb8e72d6e10abdb739b895924eeeccdea985f0c2 Mon Sep 17 00:00:00 2001
From: mirusu400 <mirusu...@naver.com>
Date: Wed, 28 Feb 2024 17:03:57 -0500
Subject: [PATCH] [benchmark] Fix dependency error for numeric_limits

---
 llvm/utils/benchmark/src/benchmark_register.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/llvm/utils/benchmark/src/benchmark_register.h 
b/llvm/utils/benchmark/src/benchmark_register.h
index 0705e219f2fa2a..6001fb8e0e4833 100644
--- a/llvm/utils/benchmark/src/benchmark_register.h
+++ b/llvm/utils/benchmark/src/benchmark_register.h
@@ -2,6 +2,7 @@
 #define BENCHMARK_REGISTER_H
 
 #include <vector>
+#include <limits>
 
 #include "check.h"
 

_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to