summaryrefslogtreecommitdiffstats
path: root/doc/manual
Commit message (Collapse)AuthorAgeFilesLines
* Update documentation and comments to use https links where possibleBrad King2020-02-131-1/+1
|
* Version: Update version scheme to distinguish release and dev versionsBrad King2019-04-111-0/+15
| | | | | | | | Use the format `<major>.<minor>.<patch>[-rc<n>][-<id>]` for release versions and `<major>.<minor>.<date>[-<id>]` for development versions. Assume we will identify exact release versions with a `v<ver>` tag on a commit with subject `CastXML <ver>`. Aadd an `-<id>` suffix to versions that are not exact release commits.
* RunClang: Improve predefined macros identifying castxmlBrad King2019-04-111-2/+16
| | | | | | | | Provide `__castxml_{major,minor,patch}__`. Re-purpose `__castxml__` to be for comparison with a `__castxml_check()` helper. Leave the actual encoding of the components unspecified. Ensure the integer version value of the encoding is larger than the only value of `1000` that `__castxml__` had previously.
* castxml: Add flag --castxml-output=<v> to activate a new output formatMichka Popoff2016-12-091-5/+46
| | | | | | | | | | | | | This will allow us to move the format forward away from gccxml compatibility in order to add information about new C++ structures. The new format will work with all C and C++ language modes but still not for Objective C/C++. Retain the `--castxml-gccxml` flag to produce XML files as similar as possible as the ones produced by gccxml, but do not allow both formats to be specified at the same time. For now use the same output for both formats except for the name of the root element. Later the new format can be adapted to add new features.
* Add FAQ (copied from GCC-XML, modified for CastXML)Michka Popoff2016-10-241-0/+33
|
* castxml: Support -std=c99 and -std=c11 with --castxml-gccxmlBrad King2016-03-251-3/+4
| | | | | | | | | Drop the rejection of `-std={c99,c11}` and `--castxml-gccxml` together. Extend the test suite to run all gccxml C output format tests in `-std=c99` and `-std=c11` modes to verify the behavior of the mode is as close as possible to other modes. GitHub-Issue: CastXML/CastXML#54
* Add predefined macros for versions of CastXML and internal ClangBrad King2015-12-031-0/+25
| | | | | | | Some translation units may need to know the real tool that is performing the preprocessing even when --castxml-cc-<id> switches predefined macros to those from another compiler. Provide dedicated version macros for both CastXML and the internal Clang against which it is built.
* RunClang: Detect C and C++ std level from --castxml-cc-<id>Brad King2015-09-181-0/+2
| | | | | | | | 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.
* castxml: Allow --castxml-cc-<id> to detect C language settingsBrad King2015-09-181-1/+3
| | | | | | 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.
* castxml: Support -std=c++14 with --castxml-gccxmlBrad King2015-09-021-3/+3
| | | | | | | | Drop the rejection of -std=c++14 and --castxml-gccxml together. Extend the test suite to run all gccxml output format tests in -std=c++14 mode to verify the behavior of the mode is as close as possible to other modes. For the few tests that have c++11-specific expected output, use it for c++14 expected output too.
* castxml: Teach --castxml-start to support a comma-separated listMichka Popoff2015-06-081-3/+4
| | | | | | | In gccxml one could input a comma-separated list for the starting declarations to parse. Add support for this with tests for cases were a comma-separated list is used, and for the case where --castxml-start is used multiple times.
* castxml: Allow -target option to override --castxml-cc-<id> detectionBrad King2015-05-281-0/+2
| | | | | | | If the command line contains an explicit '-target' option then do not consider the target platform detected from any --castxml-cc-<id> option. Instead simply honor the explicitly requested target. This will be particularly helpful for targets that CastXML has not learned to detect.
* castxml: Document example values for --castxml-cc-<id> optionBrad King2015-04-161-0/+4
| | | | | | | Also make the --help output more consistent with the wording in the castxml(1) manual. GitHub-Issue: 7
* castxml: Support -std=c++11 with --castxml-gccxmlBrad King2014-04-101-1/+4
| | | | | | | | | | | | | | | | | | | | | Parsing standard library headers in Visual Studio 11 and above requires Clang to use -std=c++11 because the headers use C++11 constructs. While gccxml output format does not support these constructs, it is still useful to be able to output interfaces from C++98 project code while tolerating C++11 constructs in system headers. Drop the rejection of -std=c++11 and --castxml-gccxml together. Teach our ASTVisitor::AddDumpNode method to skip deleted member functions, implicit move constructors, and implicit move assignment operators. This should avoid encountering any C++11 constructs that are not written explicitly in the translation unit. Extend the test suite to run all gccxml output format tests in both -std=c++98 and -std=c++11 mode to verify the behavior of the two modes is as close as possible. Tweak the Class-implicit-members expected output to tolerate the empty throw specification missing in C++11 mode. Add a RValueReferenceType test to verify that the gccxml-format output contains an Unimplemented element for the rvalue-reference type.
* doc: Write 'castxml(1)' manualBrad King2014-04-011-0/+57
|
* doc: Add documentation infrastructure based on SphinxBrad King2014-04-011-0/+4
Create a 'doc' directory and placeholder 'doc/manual/castxml.1.rst' manual. Search for sphinx-build and use it to generate html and man pages. Install them based on CastXML_INSTALL_(DOC|MAN)_DIR variables.