Skip to content
Snippets Groups Projects
  1. Nov 16, 2023
  2. Jun 14, 2022
  3. Jun 13, 2022
  4. May 27, 2022
  5. Aug 20, 2021
  6. Apr 21, 2021
  7. Apr 20, 2020
  8. Feb 01, 2018
  9. Jan 09, 2018
    • Brad King's avatar
      Fix compilation on Borland C++ 5.8 · 9c2d6cae
      Brad King authored
      Since commit fc9d607a (Use static_cast when compiling as C++,
      2017-07-12) the Borland C++ 5.8 compiler is somehow confused by our
      verification constructs using static_cast and fails to compile.
      Fall back to C-style casts with this compiler.
      9c2d6cae
  10. Jan 08, 2018
  11. Sep 21, 2017
    • Brad King's avatar
      Suppress MSVC static_cast warnings in verification and test code · 7db8b884
      Brad King authored
      In KWIML verification and test code we construct constant values and
      cast them to specific types to see whether they are truncated or not.
      Suppress MSVC diagnostic `warning C4309: 'static_cast': truncation of
      constant value` since the truncation is intentional.
      
      We did this for C-style casts in commit 5127311c (Suppress MSVC
      integer cast warnings in verification and test code, 2015-12-09), but in
      C++ that does not apply since commit fc9d607a (Use static_cast when
      compiling as C++, 2017-07-12).
      7db8b884
  12. Jul 12, 2017
  13. Apr 11, 2017
    • Daniel Pfeifer's avatar
      test: Disable include-what-you-use · ffc22537
      Daniel Pfeifer authored and Brad King's avatar Brad King committed
      KWIML has not been updated for `include-what-you-use`.
      Until this is done, block use of the tool on our own targets.
      This is useful when KWIML is embedded in the source tree of
      another project that may activate iwyu.
      ffc22537
  14. Feb 27, 2017
  15. Sep 08, 2016
  16. Dec 09, 2015
  17. Nov 30, 2015
  18. Oct 30, 2015
  19. Oct 28, 2015
    • Brad King's avatar
      Teach KWIML to be hosted as a subdirectory of another project · 0789e956
      Brad King authored
      In this mode do not provide the CMake package files or `version.h`
      header.  Instead KWIML will be distributed with and versioned with the
      host project.
      0789e956
    • Brad King's avatar
      Add a version.h header · 5bbf44ec
      Brad King authored
      Provide the KWIML version number and the availability of each other
      header with this version.
      5bbf44ec
    • Brad King's avatar
      Create CMake package files for KWIML · fbe97eb3
      Brad King authored
      Enable `find_package(kwiml 1.0)` to find KWIML by providing CMake
      package configuration and version files from the build and install
      trees.  Within the package provide a `kwiml::kwiml` INTERFACE library
      encoding the include directories as a usage requirement.
      fbe97eb3
    • Brad King's avatar
      Add abi.h and int.h interface version numbers · 53704641
      Brad King authored
      Provide KWIML_ABI_VERSION and KWIML_INT_VERSION interface version macros
      as the latest version among those included so far.  Guard against
      definition of an interface version that has already been defined.  This
      way we can provide the current version's interface even if an older or
      newer version has been included earlier in the translation unit.  The
      result will be a union of all interfaces provided by all versions
      included.
      
      Add the interface version numbers to the verification "extern" symbols
      so that each version can verify that it provides what is expected even
      if it inherited an existing value from another version included earlier.
      Guard against multiple verification of the same version.
      53704641
    • Brad King's avatar
      Improve symbol names for implementation details · 15628c8b
      Brad King authored
      Avoid using the reserved `__` in symbol names (except for macros related
      to `__int64`).  Instead use `_private_` for private implementation
      details that should not be exposed to includers.  Use `_detail`_ for
      implementation details that we must expose to includers but that they
      should not use.
      15628c8b
    • Brad King's avatar
      int.h: Define boolean macros to 1 · 824d8b42
      Brad King authored
      We use the common convention for boolean macros to leave them undefined
      for false and defining them to 1 for true.  Fix some cases where we
      define a boolean macro for true but did not set it to 1.
      824d8b42
    • Brad King's avatar
      int.h: Allow every definition to be pre-defined · 88f30a33
      Brad King authored
      Guard definition of every public macro with a condition that it is not
      already defined in the translation unit.  This will allow project code
      or command-line definitions to override any value we select.  It will
      also provide granular guards against repeat inclusion of this header if
      we were to remove the top-level include guard.
      88f30a33
    • Brad King's avatar
      int.h: Undefine implementation details · af77f1e6
      Brad King authored
      Avoid leaking them to includers.
      af77f1e6
    • Brad King's avatar
      int.h: Guard against repeat inclusion of external headers · 5a2ea8f2
      Brad King authored
      Guard inclusion of stdint.h and inttypes.h with a dedicated preprocessor
      macro.  This avoids asking the preprocessor to read the files again just
      to hit their include guards.
      5a2ea8f2
    • Brad King's avatar
      abi.h: Rename internal verification macros · 7f0e73db
      Brad King authored
      Improve the names of the macros implementing verification steps.
      7f0e73db
    • Brad King's avatar
      Convert KWIML for distribution as a standalone project · 47359670
      Brad King authored
      Drop use of configured header files and simply hard code the name
      "kwiml".  This will allow distribution as a separate project that can be
      installed on a system and included as a dependency by clients.
      
      While at it, rename "ABI" to "abi" and "INT" to "int" in file names and
      test function names.  We will use upper-case names only for macro names.
      47359670
  20. Mar 17, 2015
  21. Oct 14, 2014
    • Ben Boeckel's avatar
      KWIML: Avoid if() quoted auto-dereference · 4871885b
      Ben Boeckel authored and Brad King's avatar Brad King committed
      When testing CMAKE_<LANG>_COMPILER_ID values with if(STREQUAL), do not
      explicitly dereference or quote the variable.  We want if() to
      auto-dereference the variable and not its value.
      4871885b
  22. Aug 07, 2014
  23. Jan 08, 2013
  24. Dec 21, 2012
Loading