| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
This macro is missing from the main MSVC predefined macro list but is
documented by [1] and [2]. Also add `__STDCPP_STRICT_POINTER_SAFETY__`
as documented by [2] in case MSVC ever starts defining it.
[1] https://docs.microsoft.com/en-us/cpp/build/reference/zc-alignednew
[2] https://en.cppreference.com/w/cpp/preprocessor/replace
Fixes: #125
|
|
|
|
|
|
|
| |
Updates to VS 2015 and VS 2017 added support for `-std:` flags
specifying the language standard level for MSVC. The level is reported
in the `_MSVC_LANG` preprocessor definition instead of `__cplusplus`.
Detect MSVC standard C++ level from `_MSVC_LANG`.
|
|
|
|
|
|
|
|
| |
If no -std= option is explicitly given then parse the __cplusplus or
__STDC_VERSION__ preprocessor definition from the compiler output and
add the corresponding -std= flag. For MSVC we need to map _MSC_VER to
-std= ourselves because the compiler does not define __cplusplus to
standard values and each version hard-codes its C++ standard level.
|
|
|
|
|
|
| |
If the "<id>" is "gnu-c" or "msvc-c" then run the given compiler command
line on a C source file instead of C++. This allows C language settings
of the given compiler to be detected.
|
|
|
|
|
| |
Define some of the compiler-identifying macros actually defined by GNU
and MSVC compilers.
|
|
|
|
|
| |
Add test cases for the changes in commit 3c777ef360 (Detect: Improve
target triple selection, 2015-04-16).
|
|
|
|
|
| |
These macros are builtin to Clang so we should not try to use any such
definitions detected from the compiler.
|
|
Create dummy gnu-like and msvc-like compiler binaries. Use them with
the --castxml-cc-<id> options to verify that the preprocessor
definitions and include directories are detected as expected.
|