| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Also make the --help output more consistent with the wording
in the castxml(1) manual.
GitHub-Issue: 7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
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.
|