Skip to content
Snippets Groups Projects
  1. May 12, 2015
  2. 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
  3. May 08, 2015
  4. May 06, 2015
  5. Apr 29, 2015
  6. Apr 27, 2015
  7. Apr 21, 2015
  8. Apr 20, 2015
  9. Apr 16, 2015
  10. Apr 15, 2015
    • Dominic Kempf's avatar
      [bugfix] Fix wrong named argument in dune_register_package_flags usage · 2348fe1b
      Dominic Kempf authored
      The Metis test used the wrong one and I copied it for PTScotch... :/
      2348fe1b
    • Dominic Kempf's avatar
      Update FindPTScotch.cmake to the new flag registry · b71d1daf
      Dominic Kempf authored
      This test has been added while the dune_enable_all_packages
      feature was developed...
      b71d1daf
    • Steffen Müthing's avatar
      Merge branch 'feature/FS1557-add-all-flags-by-default-infrastructure' · 21f3e893
      Steffen Müthing authored
      This branch adds the required infrastructure to automatically enable all
      external packages and Dune-internal libraries for all targets inside a
      given Dune modules. For this purpose, it adds a number of new CMake
      macros:
      
      - dune_enable_all_packages is the central macro that needs to be called
        in the main CMakeLists.txt of your project.
      
      - dune_library_add_sources is an optional macro that you only need if
        your project also contains a library and you want your executables to
        automatically link against that library. Note that this support
        requires CMake 3.1. Most user modules don't create their own libraries
        and can thus ignore this macro.
      
      - dune_register_package_flags has to be called in all configuration
        tests to register the outcome of the test so that
        dune_enable_all_packages can automatically add the required compiler
        and linker flags required to use the library that the configuration
        test has been written for.
      
      The branch also adds the required calls to dune_register_package_flags
      to all configuration tests in dune_common.
      
      There is a similar branch in dune-grid that updates the configuration
      tests in that module.
      
      * feature/FS1557-add-all-flags-by-default-infrastructure:
        [CMake] dune_library_add_sources: Add some sanity checks
        [CMake] dune_enable_all_packages: Add sensible scoping to macro variables
        [CMake] Avoid duplicate version warnings in dune_library_add_sources
        [CMake] dune_enable_all_packages(): Add version check to library support
        [CMake] Clean up dune_enable_all_packages() and fix library handling
        [CMake][ParMETIS] Fix some typos in dune_register_package_flags() call
        [CMake] Export project revision as ProjectVersionRevision
        Fix c&p error in verbosity code
        Introduce an APPEND parameter on the dune_register_package_flags macro
        Issue a warning when the registry macros parameters cannot be parsed
        Introduce an optional VERBOSE argument on the dune_enable_all_packages macro
        Introduce a macro dune_register_package flags to be used by find modules
        [CMake] Move the enable_all_packages feature to a separate module
        Update the duneproject script to ask the user whether to use all flags
        Introduce a macro that adds all flags to all targets
        Update all find scripts split definitions from includes
        Split ALL_PKG_FLAGS into ALL_PKG_DEFS and ALL_PKG_INCS
      21f3e893
    • Steffen Müthing's avatar
      [CMake] dune_library_add_sources: Add some sanity checks · 0108acf3
      Steffen Müthing authored
      This patch adds some sanity checks to dune_library_add_sources:
      
      - Make sure that dune_enable_all_packages has been called
      
      - Test whether the library has been declared in the MODULE_LIBRARIES
        argument of dune_enable_all_packages
      
      In case of an error, the macro aborts the CMake run with a fatal error.
      0108acf3
Loading