| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
While CastXML cannot support the `gccxml()` attribute because Clang does
not define it, we can support the `annotate()` attribute that Clang
provides for arbitrary string annotations. This should fill the same
use case as the `gccxml()` attribute did for clients.
GitHub-Issue: 25
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Give the our __float128 struct an internal '__castxml' name so that it
can be identified during traversal of member lists. Do not report the
struct as a member of the translation unit since the typedef will be
generated as a FundamentalType directly. Also generate empty mangled=""
attributes for mangled names involving our __float128 struct since the
mangled names will not use the "g" that GCC would for the builtin type.
Add test cases that do not use --castxml-start. Verify that no test
case produces '__castxml' in its output to ensure we always hide such
internal details from the generated output.
GitHub-Issue: 18
|
|
|
|
|
|
|
|
| |
Class methods have an extra attributes="__thiscall__" xml attribute
on this architecture that does not appear in our test expectation
files. We already have an explicit test that this function type
attribute is generated, so simply filter it out from test output
before matching.
|
|
|
|
|
|
| |
Original gccxml output used the singular name, so we should too for
compatibility. Fix this typo left from commit defc576826 (Output:
Generate Function and related elements, 2014-02-12).
|
|
|
|
|
|
| |
The gccxml output format includes mangled="" attributes on almost all
elements. Clang only defines mangling for function and variable
declarations. Add mangled attributes to castxml output where possible.
|
|
|
|
|
|
|
| |
If TEST_UPDATE is set in the environment and a test fails, transform the
actual xml output into the expected xml and overwrite the .xml.txt file
containing the latter. This will help make sweeping updates to the
expected test output when sweeping output format changes are made.
|
|
|
|
| |
This will make it easy to re-run the command by hand for debugging.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Name files "gccxml.<std>.<test>.(stdout|stderr|result|xml).txt" where
"<std>" is either the language standard or "any" if the result works for
any standard.
|
|
|
|
|
|
| |
Teach test/run.cmake to loop over a list of possible expected result
names. This will allow tests results to be specialized in certain
cases without duplicating common results.
|
|
|
|
|
| |
Ensure that test output is produced by castxml and not left from a
previous test run.
|
|
|
|
| |
Look for xmllint and use it to validate the xml format in test results.
|
|
|
|
|
|
| |
Teach test/run.cmake to optionally read the actual and expected xml
content and compare them. Add to test/CMakeLists.txt a
castxml_test_gccxml macro to add tests for --castxml-gccxml mode.
|
|
Create a test/run.cmake test driver script that uses execute_process to
run a castxml test command line and then compares the results to those
we expect. Validate the process result (return code) and the content of
stdout and stderr. In test/CMakeLists.txt create a castxml_test_cmd
macro to add tests that use "run.cmake".
|