1. 28 Aug, 2015 1 commit
  2. 03 Jun, 2015 1 commit
  3. 09 Jan, 2015 1 commit
    • Stephen Kelly's avatar
      Workaround SolarisStudio bug with libstdc++. · d30c9b03
      Stephen Kelly authored
      Using iostream and cxxabi.h together causes a compile failure
       .../CC-gcc/include/c++/4.8.2/cxxabi.h", line 131: Error: Only one of a
       set of overloaded functions can be extern "C".
      See https://community.oracle.com/thread/3644901 for details.
      This only happens if the iostream include is before the cxxabi include.
      The available solutions are: re-order the includes in
      SystemInformation.cxx, skip the test for KWSYS_CXX_HAS_CXXABI, or cause
      it to fail by adding the include.  Do the latter for now.
      Change-Id: Ia1a6a6fca12eb9a42f4a4be5252f22fb6e74a318
  4. 31 Oct, 2013 1 commit
  5. 02 Aug, 2013 1 commit
    • Burlen Loring's avatar
      SystemInformation : Better stack trace · 1d882d4c
      Burlen Loring authored
      Add supprt for C++ name demangling during call stack
      introspection. This will be enabled at compile time
      if the required system libraries,header files, and
      compiler features are detected. Add a method so that
      the stack trace may be obtained on demand not just
      from within the stack trace signal handler.
      Change-Id: Ie829f4b24ab331e39b97f54e63564df70f129b7e
  6. 31 May, 2013 1 commit
    • Brad King's avatar
      SystemTools: Touch with better than 1s resolution if possible · dccf7725
      Brad King authored
      On Windows use CreateFile (with FILE_FLAG_BACKUP_SEMANTICS so it works
      for directories), GetSystemTimeAsFileTime, and SetFileTime to touch.  On
      other platforms prefer utimensat, then utimes, then utime.
      Change-Id: Ie85fe3766661803e66f39975a147cd6f7320ea59
      CMake-Issue: 14020
  7. 12 Jan, 2013 1 commit
  8. 09 Oct, 2012 1 commit
    • Burlen Loring's avatar
      SystemInformation: support for resource limits · 6072e63b
      Burlen Loring authored
      Add methods to report host memory total, host memory available,
      process memory available, host memory used, and process memory
      used. In this context memory is unavailable if there are resource
      limits in place that would prevent its use. Such resource limits
      assumed to be applied on a per host basis both to cooperatively
      operating process groups, such as mpi programms running in parallel,
      and to individual processes. When reporting host memory available
      consult an application specified environment variable. When reporting
      process memory available consult unix resource rlimits and an
      application specified environment variable. The environmant variables
      provide a means of communicating resource limits that are being
      applied in a non-standard way.
      Change-Id: Ifb3b0fdaab8db0ab87140fa2dcafad3c51e2d874
  9. 02 May, 2012 1 commit
    • Brad King's avatar
      KWSys: Remove dependencies on FundamentalType · 719638e2
      Brad King authored
      The hash_fun.hxx header is configured whether FundamentalType is enabled
      or not and so cannot depend on it.  Run the relevant platform tests
      whether or not FundamentalType is on and configure the result directly
      into hash_fun.  While at it, remove the dependence of SystemInformation
      on FundamentalType too since it needs only information that we now
      always compute.
  10. 26 Apr, 2012 1 commit
    • Brad King's avatar
      KWSys: Fix SystemTools environment memory handling (#13156) · 48aeb751
      Brad King authored
      The SystemTools::PutEnv function tries to provide the "putenv" API
      without leaking memory.  However, the kwsysDeletingCharVector singleton
      frees memory that may still be referenced by the environment table,
      having been placed there by putenv.  If any static destruction or
      processing by an external tool happens after the singleton is destroyed
      and accesses the environment it will read invalid memory.
      Replace use of putenv with setenv/unsetenv when available.  The latter
      manage internal copies of the values passed instead of referencing the
      original memory.  When setenv/unsetenv are not available use putenv with
      a singleton that removes its values from the environment before freeing
      their memory.  This requires an "unputenv" implementation.  On at least
      some platforms it must be written in terms of "putenv" because other
      APIs are not available and direct modification of the "environ" global
      is not safe (e.g. on Windows there is interaction with "wenviron").
      Fortunately either putenv("A=") or putenv("A") will remove "A" from the
      environment on these platforms.  On other platforms fall back to direct
      manipulation of "environ".
      Also add UnPutEnv to the API and add a test for the behavior of both.
  11. 20 Nov, 2009 1 commit
    • Brad King's avatar
      Check for 'long long' without computing size · 9782e865
      Brad King authored
      In KWSys IOStream we need to detect whether 'long long' exists but we do
      not need its size.  We avoid using CHECK_TYPE_SIZE because it does not
      work for types whose size varies across architectuers in Mac OS X
      universal binaries.  See issue #9913.
  12. 28 Sep, 2009 1 commit
    • Brad King's avatar
      Convert KWSys to OSI-approved BSD License · 62db264e
      Brad King authored
      This converts the KWSys license to a pure 3-clause OSI-approved BSD
      License.  We drop the previous license clause requiring modified
      versions to be plainly marked.  We also update the KWSys copyright to
      cover the full development time range.
  13. 31 Aug, 2009 1 commit
    • Brad King's avatar
      Define kwsys_ios_binary macro for std::ios::binary · 9350c584
      Brad King authored
      The 'binary' openmode does not exist on all compilers.  We define macro
      <kwsys>_ios_binary, where <kwsys> is the KWSys namespace, to refer to
      std::ios::binary if it exists and 0 otherwise.  Sample usage:
        kwsys_ios::ifstream fin(fn, kwsys_ios::ios::in | kwsys_ios_binary);
  14. 27 Jul, 2009 1 commit
  15. 31 Jan, 2008 1 commit
  16. 20 Apr, 2007 1 commit
  17. 04 Oct, 2006 1 commit
  18. 27 Aug, 2006 1 commit
  19. 25 Aug, 2006 2 commits
  20. 17 Jan, 2006 1 commit
  21. 03 Oct, 2005 1 commit
  22. 26 Jul, 2005 1 commit
  23. 03 May, 2005 1 commit
  24. 21 Apr, 2005 1 commit
  25. 15 Apr, 2005 5 commits
  26. 13 Apr, 2005 4 commits
  27. 29 Mar, 2005 2 commits
  28. 26 Mar, 2005 2 commits
  29. 17 Feb, 2005 1 commit
  30. 30 Dec, 2003 1 commit