Skip to content
Snippets Groups Projects
  1. Jun 02, 2015
  2. Jun 01, 2015
  3. May 28, 2015
  4. May 25, 2015
  5. May 21, 2015
    • Steffen Müthing's avatar
      [Release][CMake][Bugfix] Make dune_library_add_sources() work again · 289d3eb6
      Steffen Müthing authored
      dune_library_add_sources() verifies the library name against the
      contents of DUNE_ENABLE_ALL_PACKAGES_MODULE_LIBRARIES. I accidentally
      broke this by converting dune_enable_all_packages (which defines the
      variable) from a macro to a function, which removed the variable from
      global scope.
      
      This patch fixes the problem by explicitly exporting the variable to the
      parent scope, making it available to dune_library_add_sources() again.
      289d3eb6
  6. May 20, 2015
  7. May 19, 2015
  8. May 13, 2015
  9. May 12, 2015
  10. May 11, 2015
    • Ansgar Burchardt's avatar
      [release] debugallocator: use unsigned integer type for pointer arithmetic · 1659ea4b
      Ansgar Burchardt authored
      ptrdiff_t is a signed integer type and so the expression
        (std::uintptr_t)(ptr) % page_size
      could become a negative value. In this case the page_ptr would be the
      address of the next page after the allocation.
      
      This wrong behaviour could be observed on (32bit) PowerPC: here
      ptr was 0xf78cfe00 and page_ptr was calculated as 0xf78d0000 instead
      of the correct 0xf78c0000.
      1659ea4b
    • Steffen Müthing's avatar
      [Release][Bugfix] Fix bigunsignedint numeric_limits for clang/libc++ · a7951dff
      Steffen Müthing authored
      The std::numeric_limits specialization for bigunsignedint requires
      access to the internal state of bigunsignedint. Previously, the correct
      specialization of std::numeric_limits was a friend of bigunsignedint,
      but that creates problems on recent versions of clang with the
      alternative libc++ library, because that library declares the base
      template of std::numeric_limits as a class and clang subsequently
      complains if the friend declaration uses 'struct'. Unfortunately,
      libstdc++ uses a struct, making it impossible to keep clang happy for
      both standard libraries. So we introduce a helper class that provides
      access to the internal state and which now becomes a friend of
      bigunsignedint. The numeric_limits specialization inherits from the
      helper to use it.
      a7951dff
    • Steffen Müthing's avatar
    • Steffen Müthing's avatar
      [Bugfix][Release] Add typedefs to std::hash specializations for standard compliance · a64ca159
      Steffen Müthing authored
      According to the standard, all specializations of std::hash must export
      argument_type and result_type [20.8.12/1]. The version of libc++ (LLVM's
      alternative C++ standard library) tripped over this requirement on my
      machine, so this patch adds the typedefs.
      a64ca159
    • Steffen Müthing's avatar
      [Release][Bugfix] Merge branch 'p/ansgar/FS1644-bigunsignedint' · 4c79a644
      Steffen Müthing authored
      Ansgar fixed a bunch of problems in bigunsignedint - and improved the
      corresponding test! yeah!
      
      * p/ansgar/FS1644-bigunsignedint:
        Rework bigunsignedinttest.cc.
        bigunsignedint: Remove unneeded variable in operator%.
        bigunsignedint: Fix operator-.
        bigunsignedint: Throw an exception when constructing from a negative integer.
        bigunsignedint: make overload unambiguous for all integer types
        Use fixed-width integer types (C++11)
      4c79a644
    • Ansgar Burchardt's avatar
      Rework bigunsignedinttest.cc. · c859558d
      Ansgar Burchardt authored
      c859558d
    • Ansgar Burchardt's avatar
    • Ansgar Burchardt's avatar
      bigunsignedint: Fix operator-. · fef5f72e
      Ansgar Burchardt authored
      fef5f72e
    • Ansgar Burchardt's avatar
    • Ansgar Burchardt's avatar
      bigunsignedint: make overload unambiguous for all integer types · 7d2a12f8
      Ansgar Burchardt authored
      With just the two overloaded constructors
      
        bigunsignedint(int)
        bigunsigendint(uintmax_t)
      
      trying to call the constructor with any integer type T different from
      int and uintmax_t results in an ambiguous call: the promotion of T to
      either int or uintmax_t are ranked the same. (Note that this does not
      depend on the specific choice of int and uintmax_t.)
      
      This patch provides a templated constructor for all signed integer
      types which is ranked over the constructor taking an uintmax_t, making
      overload resolution unambiguous for signed integer types. By also
      "hiding" it for unsigned types using enable_if, the overload
      resolution for unsigned integer types is also unambiguous; there is
      only a single viable candidate left: the one taking an uintmax_t.
      7d2a12f8
    • Ansgar Burchardt's avatar
      Use fixed-width integer types (C++11) · 541b3dfc
      Ansgar Burchardt authored
      Use the fixed-width integer types introduced in C++11 instead of
      making assumptions on the size of integers. The following changes were
      implemented:
      
      unsigned short used to store the bigunsignedint:
        Changed type to uint16_t. The implementation requires this to be a
        16-bit type.
      
      int, unsigned int used to store intermediates:
        Changed type to (u)int_fast32_t. This is enough to hold sums, products
        or differences of two uint16_t integers.
      
      std::size_t used as parameter in constructor and arithmetic operators:
        Changed type to uintmax_t. Any unsigned integer type should be usable
        in conjunction with bigunsignedint.
      
      Return value of touint() member function:
        Changed type to uint_least32_t. The current implementation only
        returns the last two "digits" (of 16 bits each).
      541b3dfc
    • Steffen Müthing's avatar
      [Release][Bugfix] Fix __cxa_demangle() on recent clang · 70f52c0d
      Steffen Müthing authored
      The test for __cxa_demangle(), which is used by Dune::className() to
      demangle type names, doesn't work on my clang 3.6. Apparently, clang
      requires the user to include <typeinfo> before <cxxabi.h>. While
      classname.hh already does this, the build system tests don't, causing the
      feature to get disabled on clang.
      
      Fixed by adding the include to the build system tests.
      70f52c0d
    • Dominic Kempf's avatar
      [bugfix][release] Fix duneproject's option for the enable all feature · fb1ce0b4
      Dominic Kempf authored
      A typo made it impossible to say 'no'.
      
      Furthermore, I changed the text shown to the user to point to the
      module documentation.
      fb1ce0b4
  11. May 08, 2015
  12. May 06, 2015
Loading