| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
If an error occurs during CompilerInvocation::CreateFromArgs then exit
with an error code immediately.
|
|
|
|
|
| |
Define some of the compiler-identifying macros actually defined by GNU
and MSVC compilers.
|
| |
|
|
|
|
|
|
| |
Add "-src" to the test names to indicate that they cover handling of an
input source file of each language rather than detection of compiler
settings for each language.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Since LLVM r244854 there is no BumpPtrStringSaver, but StringSaver can
be constructed with a BumpPtrAllocator.
|
|
|
|
| |
The gccxml output format had this attribute.
|
|
|
|
|
|
|
| |
Extend the change from commit e73fba54 (Output: Add annotate() to
function declaration attributes="", 2015-08-18) to support record, enum,
field, variable, and typedef since gccxml also supported attributes
in these.
|
| |
|
|\
| |
| |
| |
| | |
Resolve conflicts in files that we previously removed from our side by
removing them again.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Extract upstream KWSys using the following shell commands.
$ git archive --prefix=upstream-kwsys/ b9df3e48 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 5843f590..b9df3e48
Ben Boeckel (1):
425fa73e Add missing malloc return value casts
Brad King (24):
dec9c30b SharedForward: Hard-code the ldpath buffer size to below VS 14 limit
9c3eacf8 Add CONTRIBUTING.rst file with instructions to contribute
cc4046a8 Directory: Work around PGI problem with Linux Large File Support
5a15cb3b Base64: Use size_t for lenghts in API
57c3ef1d Suppress deprecation warnings for GetVersionEx on Intel compiler
b33e7b96 FStream: Fix exception spec on our standard stream replacements
d4e7f08e Directory: Check opendir return value before using it
4a698414 hashtable: Give prime number table functions internal linkage
20f50727 SystemInformation: Add missing 'break' in StacktraceSignalHandler
69bccf2e SystemTools: Teach Touch with !create to succeed on missing file
1ea01a46 Tell Git to export '.gitattributes'
4f39791b Glob: Add explicit assignment operator to Message member
c2387a4b DynamicLoader: Fix CloseLibrary for failed OpenLibrary on HP-UX
8c8b2273 Process: Refactor child pipe creation
34fceb50 Process: Add option to merge stdout/stderr
b1d560a0 CPU: MIPS is biendian
61e0419f SystemTools: Teach RemoveFile to tolerate missing file
d217407c SystemTools: Fix preprocessor check WIN32 => _WIN32
1f19c187 CONTRIBUTING: Spell "offered" correctly
8504e845 Process: Simplify Windows command line construction
d3ba91e1 System: Drop Shell_* APIs
86a24794 SystemTools: Fix GetActualCaseForPath drive letter case handling
c9336bcf SystemTools: Optimize GetActualCaseForPath memoization
83b4a6b8 Process: Fix conversion warning in testProcess.c
Domen Vrankar (5):
2b042ff6 SystemTools: Optionally report error from GetRealPath
7c9a970a Glob: Remove dead code
1b75ad3d Glob: Remove addition of extra '/'
5d6204e9 Glob: Handle symlink cycles in directory paths
4890f30c Glob: Add support for directory listing
James Johnston (9):
4cd8846c Process: Remove trailing whitespace in ProcessUNIX.c
b1c44c58 Process: Refactor sleeping code in testProcess.c.
faff2ab0 Process: Wait for children to terminate on Ctrl+C.
ef517b19 Process: Added initial support for process groups.
906c2cae Process: Added test cases for testing Ctrl+C and process groups.
52874e6a Process: Fix leaked file descriptor in ProcessUNIX
f63febb7 Process: Fix error message for startup failure on Windows
dad68c33 Encoding: Fix undefined behavior if out of memory.
0bca555e Process: Test running a process many times to discover resource leaks
Jean-Christophe Fillion-Robin (4):
c38ba638 SystemInformation: Improve Get(Available/Total)VirtualMemory for windows
58308145 SystemInformation: Improve comments in private implementation
e5c23738 SystemTools: Fix DetectFileType failure on missing file
6d83c113 SystemTools: Fix DetectFileType failure on directory
Matt McCormick (1):
9a6b7c3f cmake: Set CMP0056 to NEW
Mattias Ellert (1):
b9df3e48 Fix implementation of KWSYS_PROPERTIES_C
Paul Martin (1):
d2aa1afd SystemTools: Update CopyFileAlways stream library workarounds
Sean McBride (3):
87c65319 SharedForward: Suppress clang -Wcast-qual warnings with conditional pragma
093eae34 SystemInformation: Fix -Wswitch-enum warnings
9367a33b testHashSTL: Fix warnings by marking private functions static
Sebastian Schuberth (1):
4db8e69f SystemTools: Implement FileIsSymlink on Windows
Simon Gomizelj (1):
2f0165f1 Terminal: Add xterm-termite to VT100 color support whitelist
Stephen Kelly (3):
e4fe1d1a SystemTools: Refactor selection of Windows directory APIs
af86ac7d SystemTools: Fix build with SunCC/stlport.
d30c9b03 Workaround SolarisStudio bug with libstdc++.
Zack Galbreath (1):
8533a79b SystemInformation: Add GetLoadAverage() method
|
| |
| |
| |
| |
| |
| |
| | |
We have KWSys in CastXML only for the Process execution library, and
will drop it if an alternative becomes available in LLVM. Add
CastXML-specific conditions to src/kwsys/CMakeLists.txt to turn off the
parts we do not use. Also drop the corresponding source files.
|
| |
| |
| |
| | |
We do not need any of the settings from the latter.
|
| |
| |
| |
| |
| | |
We have no uses of SystemTools, so do not tell KWSys to build it.
This also leaves RegularExpression unused, so drop that too.
|
| |
| |
| |
| | |
Use llvm::sys instead.
|
| |
| |
| |
| | |
Use std::getline instead.
|
| |
| |
| |
| | |
Use llvm::sys instead.
|
| |
| |
| |
| | |
Use llvm::sys::fs::exists instead.
|
| |
| |
| |
| | |
Use llvm::StringRef::split instead.
|
| |
| |
| |
| | |
Use std::getenv instead.
|
| |
| |
| |
| |
| | |
We do not need the full conversion performed by ConvertToUnixSlashes.
Simply use std::replace to convert backslashes to forward slashes.
|
| |
| |
| |
| |
| |
| | |
Extend the change from commit e73fba54 (Output: Add annotate() to
function declaration attributes="", 2015-08-18) to function arguments
since gccxml also supported attributes there.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Add a PrintAttributesAttribute helper and use it anywhere we currently
print the attributes="" attribute.
|
| | |
|
| |
| |
| |
| |
| | |
Remove a stray line and fix a typo introduced by commit 5c8a1e73 (test:
Add infrastructure to run tests against real GNU compilers, 2015-02-24).
|
| |
| |
| |
| |
| |
| |
| |
| | |
If an error occurs during Driver::BuildCompilation then exit with
an error code immediately. This is important when an input file
is missing, for example.
GitHub-Issue: 23
|
| |
| |
| |
| | |
Use `auto` to adapt to the Compilation::getJobs() return type.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
CastXML conditionally supports __float128 when asked to simulate a GNU
compiler that supports it. The type is available only on certain
architectures, so do not run the tests for __float128 if the GNU
compiler does not support it for the current architecture.
GitHub-Issue: 22
|
| |
| |
| |
| |
| |
| |
| | |
Update use of the llvm::opt::OptTable::ParseArgs method and the
llvm::cl::ExpandResponseFiles function to account for post-3.6 changes
to the LLVM/Clang API. Use preprocessor conditions so that we can
continue to build against LLVM/Clang 3.6 too.
|
| |
| |
| |
| |
| |
| |
| | |
With MinGW and Cygwin tools, LLVM upstream uses -std=gnu++11 instead of
-std=c++11 because the latter lacks things like "strdup". Do the same.
GitHub-Issue: 19
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Save the CXXRecordDecl downcast in a local variable so we can use
it multiple times.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GNU compilers have a builtin __float128 type but Clang does not. Since
commit fe1bb977ee (Detect: Provide __float128 when simulating GNU
compilers, 2015-02-24) we define __float128 as a typedef in the preamble
referencing a struct with the proper size and alignment. Avoid exposing
this implementation detail to clients by generating a FundamentalType
element as a special case when our typedef is encountered. This matches
gccxml behavior when __float128 is encountered.
GitHub-Issue: 18
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
Add test cases for the changes in commit 3c777ef360 (Detect: Improve
target triple selection, 2015-04-16).
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
Function type attributes like attributes="__thiscall__" are specific to
the architecture and so may need to be filtered during testing. Move
them to be the last xml attribute in their element to make filtering
easier.
|
| |
| |
| |
| |
| |
| | |
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).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
An inline namespace affects the linkage of its members but for APIs
the members are effectively in the containing namespace. Generate
output as if they were really in the containing namespace and do
not generate a Namespace element for an inline namespace.
If --castxml-start names an inline namespace simply ignore it to avoid
dumping a Namespace element for it. One can argue this is valid since
the inline namespace should not normally be named in API usage.
Set our printing policy to avoid showing the inline namespace component
automatically. Note that expressions in the source code that hard-code
the inline namespace name will still be preserved and show the inline
namespace when printed (e.g. Variable init="" attribute expressions).
Suggested-by: Michka Popoff <michkapopoff@gmail.com>
|
| |
| |
| |
| | |
Store our printing policy in a member up front.
|
| |
| |
| |
| | |
Be consistent with gccxml which did not generate the attribute.
|
| |
| |
| |
| |
| |
| |
| |
| | |
CastXML builds and works correctly only against a LLVM/Clang
install tree. This is specified in the README.rst, but we
can also catch and fail early on attempts to use a build tree.
GitHub-Issue: 12
|