circle
circle copied to clipboard
Circle compiles the MULTI library (almost)
Hi @seanbaxter , Alfredo here.
I wanted to let you know that I worked around all the errors in my code that circle complained about and other compilers didn't complain about. So, circle b170 can compile the library (tests).
https://gitlab.com/correaa/boost-multi/-/jobs/2412971718
Thank you very much, I mention your compiler as one of the compatible compilers, https://gitlab.com/correaa/boost-multi#dependecies-and-compiler-requirements
I will keep your compiler in the CI so if something else arises, I will let you know.
Having said that, there are still about a dozen locations that I have to workaround by plainly commenting code. Fortunately they are in tests only and not in the header file.
There are two types of problems, crashes and not recognizing constexpr that other compiler do recognize as constexpr (may be you are right and other compilers are wrong, I don't know). These are all the places (file and line number and at the reason at the end of the line) I had to comment.
test/constructors.cpp:49: #if defined(__cpp_deduction_guides) and not defined(__NVCC__) and not defined(__circle_build__) // circle 170 crashes
test/constructors.cpp:74:#if defined(__cpp_deduction_guides) and not defined(__NVCC__) and not defined(__circle_build__) // circle 170 crashes
test/layout.cpp:233:#if defined(__circle_build__) // circle doesn't see dimensionality as a constexpr "cannot access value of A at compile time;"
test/layout.cpp:252:#if defined(__circle_build__) // circle doesn't recognize this as a constexpr "cannot access value of A at compile time;"
test/initializer_list.cpp:73: #if defined(__cpp_deduction_guides) and not defined(__NVCC__) and not defined(__circle_build__) // circle 170 crashes
test/initializer_list.cpp:273: #if defined(__cpp_deduction_guides) and not defined(__NVCC__) and not defined(__circle_build__) // circle 170 crashes
test/iterator.cpp:48: #if not defined(__circle_build__) // circle 170 crashes
test/iterator.cpp:51: #if not defined(__circle_build__) // circle 170 crashes
test/iterator.cpp:54: #if not defined(__circle_build__) // circle 170 crashes
test/array_ref.cpp:299: #if not defined(__circle_build__) // circle 170 crashes https://github.com/seanbaxter/circle/issues/114
all these files are here: https://gitlab.com/correaa/boost-multi/-/tree/master/test
If it helps debugging, this is how I compile the library (tests):
$ git clone https://gitlab.com/correaa/boost-multi.git
$ cd boost-multi
$ mkdir build && cd build
$ CXX=/builds/correaa/boost-multi/build_latest/circle cmake .. -DBOOST_LIBRARYDIR=/usr/lib/x86_64-linux-gnu/ -DENABLE_CIRCLE=1
$ make VERBOSE=1
$ ctest --output-on-failure
Thanks for the report. I'll get to work on it this week.
The library is added to godbolt Circle now. https://godbolt.org/z/fMxE5GhYr Doesn't use any Circle feature yet, but I am considering to.