summaryrefslogtreecommitdiffstats
path: root/share
Commit message (Collapse)AuthorAgeFilesLines
* Detect: Add __STDCPP_DEFAULT_NEW_ALIGNMENT__ predefined VS macroBrad King2018-08-061-0/+6
| | | | | | | | | | | 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
* Detect: Add more VS predefined macrosBrad King2018-08-062-0/+81
| | | | | | | Use the table at [1] to add a few missing VS 2017 predefined macros to our detection table. [1] https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros
* RunClang: Detect -std=c++17 from --castxml-cc-msvcBrad King2017-12-051-0/+3
| | | | | | | 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`.
* castxml: Allow --castxml-cc-<id> to detect C language settingsBrad King2015-09-182-0/+139
| | | | | | 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.
* Detect: Add more VS predefined macrosBrad King2015-08-251-0/+12
| | | | | Use the table at https://msdn.microsoft.com/en-us/library/b0084kay.aspx to add a few missing VS 2015 predefined macros to our detection table.
* Detect settings from MSVC-like compilersBrad King2014-02-261-0/+137
| | | | | | | | | | | Implement '--castxml-cc-msvc' option to detect preprocessor settings and the target triplet from MSVC-like compilers. Run the compiler command with '-c -FoNUL detect_vs.cpp' and capture stdout and stderr. Create the 'detect_vs.cpp' source using '#pragma message("...")' to tell the compiler to print detected preprocessor definitions. Treat the stdout as the preprocessor predefines block and parse it to extract the target architecture. Extract the header file search path from the 'INCLUDE' environment variable.
* Detect settings from GNU-like compilersBrad King2014-02-141-0/+0
Implement '--castxml-cc-gnu' option to detect preprocessor settings and the target triplet from GNU-like compilers. Run the compiler command with "-E -dM -v empty.cpp" and capture stdout and stderr. Treat the stdout as the preprocessor predefines block and parse it to extract the target architecture. Parse the stderr to extract the header file search path. Install the now-populated share/castxml resource directory to the CastXML_INSTALL_DATA_DIR.