Giter Club home page Giter Club logo

dispenso's People

Contributors

barracuda156 avatar bigfootjon avatar facebook-github-bot avatar graphicsman avatar jeffamstutz avatar johnkearney avatar kevinbchen avatar michel-slm avatar porumbes avatar romanfedotovfb avatar ryandesign avatar seaotocinclus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dispenso's Issues

[Bug]: Build fails with `-Werror` on 32-bit platform

Contact Details

No response

What happened?

Build fails on 32-bit platform when warnings are treated as errors.

In file included from /opt/local/include/gcc13/c++/atomic:41,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/../dispenso/platform.h:14,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/../dispenso/detail/small_buffer_allocator_impl.h:13,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/small_buffer_allocator.cpp:8:
In member function 'std::__atomic_base<_IntTp>::__int_type std::__atomic_base<_IntTp>::load(std::memory_order) const [with _ITp = long unsigned int]',
    inlined from 'bool moodycamel::ConcurrentQueue<T, Traits>::ExplicitProducer::enqueue_bulk(It, moodycamel::ConcurrentQueue<T, Traits>::size_t) [with moodycamel::ConcurrentQueue<T, Traits>::AllocationMode allocMode = moodycamel::ConcurrentQueue<char*, moodycamel::ConcurrentQueueDefaultTraits>::CanAlloc; It = char**; T = char*; Traits = moodycamel::ConcurrentQueueDefaultTraits]' at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/third-party/moodycamel/concurrentqueue.h:2060:49,
    inlined from 'bool moodycamel::ConcurrentQueue<T, Traits>::inner_enqueue_bulk(const producer_token_t&, It, size_t) [with AllocationMode canAlloc = moodycamel::ConcurrentQueue<char*, moodycamel::ConcurrentQueueDefaultTraits>::CanAlloc; It = char**; T = char*; Traits = moodycamel::ConcurrentQueueDefaultTraits]' at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/third-party/moodycamel/concurrentqueue.h:1382:124,
    inlined from 'bool moodycamel::ConcurrentQueue<T, Traits>::enqueue_bulk(const producer_token_t&, It, size_t) [with It = char**; T = char*; Traits = moodycamel::ConcurrentQueueDefaultTraits]' at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/third-party/moodycamel/concurrentqueue.h:1052:38:
/opt/local/include/gcc13/c++/bits/atomic_base.h:505:31: error: 'unsigned int __atomic_load_4(const volatile void*, int)' writing 4 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=]
  505 |         return __atomic_load_n(&_M_i, int(__m));
      |                ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
In function 'bool moodycamel::ConcurrentQueue<T, Traits>::enqueue_bulk(const producer_token_t&, It, size_t) [with It = char**; T = char*; Traits = moodycamel::ConcurrentQueueDefaultTraits]':
cc1plus: note: destination object is likely at address zero
cc1plus: all warnings being treated as errors
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/timed_task.cpp: In member function 'void dispenso::TimedTaskScheduler::timeQueueRunLoop()':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/timed_task.cpp:86:28: error: redundant move in initialization [-Werror=redundant-move]
   86 |       auto next = std::move(tasks_.top());
      |                   ~~~~~~~~~^~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_dispenso/dispenso/work/dispenso-1.2.0/dispenso/timed_task.cpp:86:28: note: remove 'std::move' call
cc1plus: all warnings being treated as errors

Perhaps these are nothing critical, but if they are easily fixable, it may be worth addressing this.

Version

latest (Edge)

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: `warn_unused_result` compilation error in `dispenso/priority.cpp` for Linux

Contact Details

N/A

What happened?

While trying to package the library for Conan Center Index, I've come across a compilation issue due to warn_unused_result and the default -Werror.

dispenso/1.2.0: Calling build()
dispenso/1.2.0: Running CMake.configure()
dispenso/1.2.0: RUN: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="/root/.conan2/p/b/dispe38c8bf72dbfa0/b/build/Release/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/root/.conan2/p/b/dispe38c8bf72dbfa0/p" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src"
-- Using Conan toolchain: /root/.conan2/p/b/dispe38c8bf72dbfa0/b/build/Release/generators/conan_toolchain.cmake
-- Conan toolchain: Setting CMAKE_POSITION_INDEPENDENT_CODE=ON (options.fPIC)
-- Conan toolchain: C++ Standard 17 with extensions ON
-- Conan toolchain: Setting BUILD_SHARED_LIBS = OFF
-- The CXX compiler identification is GNU 11.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
SOURCES:  /root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/detail/per_thread_info.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/detail/quanta.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/graph.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/graph_executor.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/pool_allocator.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/priority.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/schedulable.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/small_buffer_allocator.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/task_set.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/thread_id.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/thread_pool.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/timed_task.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/timing.cpp;/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/tsan_annotations.cpp
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Configuring done
-- Generating done
-- Build files have been written to: /root/.conan2/p/b/dispe38c8bf72dbfa0/b/build/Release

dispenso/1.2.0: Running CMake.build()
dispenso/1.2.0: RUN: cmake --build "/root/.conan2/p/b/dispe38c8bf72dbfa0/b/build/Release" -- -j12
[  6%] Building CXX object dispenso/CMakeFiles/dispenso.dir/detail/per_thread_info.cpp.o
[ 13%] Building CXX object dispenso/CMakeFiles/dispenso.dir/graph.cpp.o
[ 26%] Building CXX object dispenso/CMakeFiles/dispenso.dir/detail/quanta.cpp.o
[ 33%] Building CXX object dispenso/CMakeFiles/dispenso.dir/pool_allocator.cpp.o
[ 26%] Building CXX object dispenso/CMakeFiles/dispenso.dir/graph_executor.cpp.o
[ 46%] Building CXX object dispenso/CMakeFiles/dispenso.dir/priority.cpp.o
[ 46%] Building CXX object dispenso/CMakeFiles/dispenso.dir/schedulable.cpp.o
[ 53%] Building CXX object dispenso/CMakeFiles/dispenso.dir/small_buffer_allocator.cpp.o
[ 60%] Building CXX object dispenso/CMakeFiles/dispenso.dir/thread_id.cpp.o
[ 66%] Building CXX object dispenso/CMakeFiles/dispenso.dir/task_set.cpp.o
[ 73%] Building CXX object dispenso/CMakeFiles/dispenso.dir/thread_pool.cpp.o
[ 80%] Building CXX object dispenso/CMakeFiles/dispenso.dir/timed_task.cpp.o
[ 86%] Building CXX object dispenso/CMakeFiles/dispenso.dir/timing.cpp.o
[ 93%] Building CXX object dispenso/CMakeFiles/dispenso.dir/tsan_annotations.cpp.o
/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/priority.cpp: In function ‘bool dispenso::setCurrentThreadPriority(dispenso::ThreadPriority)’:
/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/priority.cpp:136:11: error: ignoring return value of ‘int nice(int)’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
  136 |       nice(10);
      |       ~~~~^~~~
/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/priority.cpp:140:11: error: ignoring return value of ‘int nice(int)’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
  140 |       nice(0);
      |       ~~~~^~~
/root/.conan2/p/b/dispe38c8bf72dbfa0/b/src/dispenso/priority.cpp:152:11: error: ignoring return value of ‘int nice(int)’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
  152 |       nice(static_cast<int>(20 - rlim.rlim_max));
      |       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors

I'm running

# uname -a
Linux 7e741cff55e1 6.6.12-linuxkit #1 SMP Thu Feb  8 06:36:34 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux

and I'm compiling with

arch=armv8
build_type=Release
compiler=gcc
compiler.cppstd=gnu17
compiler.libcxx=libstdc++11
compiler.version=11
os=Linux

This might be something on my end so sorry about the noise if that's the case, I've tried to check for missconfigurations on my end but I can't see where I would be going wrong :)

Version

1.0 (Default)

Code of Conduct

  • I agree to follow this project's Code of Conduct

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.