1. 13 May, 2019 1 commit
  2. 25 Jan, 2019 1 commit
  3. 04 Jun, 2018 1 commit
    • Brad King's avatar
      Features: Add special case to disable relaxed constexpr for Intel 18 · f719a13c
      Brad King authored
      Intel compilers define `__cpp_constexpr` to `200704` even in C++14 mode.
      This indicates that the `cxx_relaxed_constexpr` feature is not
      available.  However, Intel 17 and above document support for it.  In
      commit v3.8.0~9^2 (Features: Update features for Intel C++ 17.0.2 on
      UNIX, 2017-03-31) we added a special check for this case.  Intel 17 and
      19 work.  However, Intel 18 does not seem to work and fails our test
      case.  Add a special case to disable the feature for Intel 18.
  4. 16 Mar, 2018 1 commit
    • Brad King's avatar
      Features: Record initializer list support for Intel 14 and above · fc96d99c
      Brad King authored
      Features recorded by commit v3.6.0-rc1~120^2~5 (Features: Record
      standards and features for Intel C++ on UNIX, 2016-04-28) for the Intel
      compiler left out initializer list support because our test case in
      `Tests/CompileFeatures/cxx_generalized_initializers.cpp` caused an
      internal compiler error.  It turns out this is because the Intel
      compiler asserts the `initializer_list` constructor signatures to verify
      that they match its own `<initializer_list>` header.  It was our dummy
      implementation used to test the language feature without any headers
      that caused the ICE.  Revise it to use a constructor signature accepted
      by the Intel compiler.
      Fixes: #17829
  5. 31 Mar, 2017 1 commit
    • Brad King's avatar
      Features: Update features for Intel C++ 17.0.2 on UNIX · 4af0c9da
      Brad King authored
      Intel 17.0.2 on UNIX introduced a regression from 17.0.1 in its
      definition of `__cpp_constexpr` in `-std=c++14` mode.  It incorrectly
      defines it as `200704` instead of the expected `201304`.  Fix our
      feature detection table to account for this.
  6. 10 Nov, 2016 2 commits
    • Brad King's avatar
      Features: Detect Intel C++14 mode more reliably · 5e428389
      Brad King authored
      The `__cplusplus` macro is not defined to the language level reliably.
      When simulating MSVC it is always set to `1`.  When simulating GCC it is
      set to the lower value of the current language level and the maximum
      level supported by the simulated version of GCC (from observation).
      For MSVC we already used a combination of `__INTEL_CXX11_MODE__` and
      `__cpp_aggregate_nsdmi` to detect C++14 mode.  Extend this for general
      use by removing the condition on `_MSC_VER`.
    • Brad King's avatar
      Features: Fix standards and features for Intel 15 on Windows · be732739
      Brad King authored
      The Intel 15 compiler for Windows does not support the same set of
      standards and features as the same version for other platforms.
  7. 03 Nov, 2016 1 commit
  8. 27 Oct, 2016 3 commits
    • Brad King's avatar
      Features: Record features for Intel Compiler on Windows · 369d5809
      Brad King authored
      Since this compiler always defines `__cplusplus` to `1` we need to use
      `_MSC_VER`, `__INTEL_CXX11_MODE__`, and the feature test macro named
      `__cpp_aggregate_nsdmi` to detect C++11 and C++14 modes.
      With no `-Qstd=` flag this compiler defaults to C++98 plus a subset of
      C++11/C++14 features needed to be compatible with MSVC.  We pretend it
      is plain C++98 and add a `-Qstd=` flag whenever needed for C++11 or
      above features even if they would happen to be available in MSVC-mode.
      Closes: #16384
    • Brad King's avatar
      Features: Port Intel CXX features to test macros where possible · a5a3642f
      Brad King authored
      The Intel 16 and 17 compilers define feature test macros of the form
      `__cpp_<feature>`.  Use them where possible to detect corresponding
    • Brad King's avatar
      Features: Unset Intel CXX feature temporaries · d34ac22f
      Brad King authored
  9. 26 Oct, 2016 1 commit
  10. 28 Apr, 2016 2 commits