summaryrefslogtreecommitdiffstats
path: root/clang/bindings/python
Commit message (Collapse)AuthorAgeFilesLines
* [AIX] Disable clang python binding testsDavid Tenty2019-11-261-0/+5
| | | | | | | | | | | | | | | | | Summary: The Python ctypes FFI interface is broken on AIX, it cannot properly pass structures containing arrays ( https://bugs.python.org/issue38628). So disable the clang python binding tests on AIX till this is resolved. Reviewers: stevewan, jasonliu, hubert.reinterpretcast, mgorny Reviewed By: jasonliu, hubert.reinterpretcast Subscribers: mgorny, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70675
* Fixed more -Wreturn-type testsDávid Bolvanský2019-11-091-1/+1
|
* [TestCommit] Trivial change to test commit access.Mark Murray2019-09-191-1/+1
| | | | llvm-svn: 372307
* [TestCommit] Trivial change to test commit access.Mark Murray2019-09-191-1/+1
| | | | llvm-svn: 372306
* [clang][Tooling] Infer target and mode from argv[0] when using ↵Kadir Cetinkaya2019-06-261-6/+8
| | | | | | | | | | | | | | | | | | | | | JSONCompilationDatabase Summary: Wraps JSON compilation database with a target and mode adding database wrapper. So that driver can correctly figure out which toolchain to use. Note that clients that wants to make use of this target discovery mechanism needs to link in TargetsInfos and initialize them at startup. Reviewers: ilya-biryukov Subscribers: mgorny, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63755 llvm-svn: 364386
* [CodeComplete] Update python tests after r360042Ilya Biryukov2019-05-061-2/+2
| | | | llvm-svn: 360048
* [libclang] Expose ext_vector_typeSven van Haastregt2019-04-171-0/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D60775 llvm-svn: 358566
* [python, tests] Disable Clang Python tests on SPARCRainer Orth2019-04-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running `make check-all` fails on Solaris 11/SPARC since the clang python tests FAIL: ............................ ====================================================================== FAIL: test_extent (tests.cindex.test_location.TestLocation) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests/cindex/test_location.py", line 87, in test_extent self.assert_location(one.extent.start,line=1,column=1,offset=0) File "tests/cindex/test_location.py", line 22, in assert_location self.assertEqual(loc.column, column) AssertionError: 5 != 1 ====================================================================== FAIL: test_get_children (tests.cindex.test_cursor.TestCursor) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests/cindex/test_cursor.py", line 70, in test_get_children self.assertEqual(tu_nodes[0].is_definition(), True) AssertionError: False != True ---------------------------------------------------------------------- Ran 126 tests in 2.123s FAILED (failures=2, skipped=6) Unfortunately, this aborts the rest of `make check-all`, even with `-k`, so this patch disables the test as is already done on a couple of other targets. This allowed the `sparc-sun-solaris2.11` test to finish. Differential Revision: https://reviews.llvm.org/D60046 llvm-svn: 357917
* [libclang][test] Suppress annoying 'LIBCLANG TOOLING ERROR' outputFangrui Song2019-04-031-0/+9
| | | | | | | | | | | check-all invokes check-clang-python which prints the annoying message: LIBCLANG TOOLING ERROR: fixed-compilation-database: Error while opening fixed database: No such file or directory json-compilation-database: Error while opening JSON database: No such file or directory Let's fix it now with os.dup os.dup2 trick. llvm-svn: 357562
* [libclang] Expose aligned() attribute.Emilio Cobos Alvarez2019-03-131-0/+1
| | | | | | | | | | | | | | | | | Summary: This is useful because otherwise there's no easy way to distinguish #pragma packed(N) from attribute(packed, aligned(N)) that isn't looking at field offsets (since pragma packed() also creates a packed attribute). Reviewers: Anastasia, arphaman, serge-sans-paille Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D59299 llvm-svn: 356062
* [libclang] Expose warn_unused and warn_unused_result attributes.Emilio Cobos Alvarez2019-02-251-0/+2
| | | | | | | | | This is helpful to properly detect them, and fixing issues like https://github.com/rust-lang/rust-bindgen/issues/1518. Differential Revision: https://reviews.llvm.org/D58570 llvm-svn: 354824
* [libclang] Fix a trivial error introduced in D57946.Emilio Cobos Alvarez2019-02-251-1/+1
| | | | | | | | | | The value for CXCursor_ConvergentAttr is not 420. I'm not really sure how easy it is to test this, and I'm not familiar with the python bindings, just noticed the error while looking at D57946 to write D58570. Differential Revision: https://reviews.llvm.org/D58571 llvm-svn: 354823
* [libclang] Add attribute support for 'convergent'.Sven van Haastregt2019-02-111-0/+1
| | | | | | | | | | This bumps CINDEX_VERSION_MINOR up (to 51). Patch by Hsin-Hsiao Lin. Differential Revision: https://reviews.llvm.org/D57946 llvm-svn: 353690
* Fix python3 compability issue in clang bindingSerge Guelton2019-01-241-23/+15
| | | | | | | | | | | | | | The file contents could be of str type. Should use byte length instead of str length, otherwise utf-8 encoded files may not get properly parsed for completion. Source issue: https://github.com/ncm2/ncm2-pyclang#2 Commited on behalf of `roxma' Differential Revision: https://reviews.llvm.org/D56429 llvm-svn: 352039
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-195-20/+15
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* [test] Disable Python binding tests w/ LLVM_ENABLE_PIC=OFFMichal Gorny2019-01-161-0/+5
| | | | | | | | | Disable Python binding tests when LLVM_ENABLE_PIC is disabled, as libclang.so is not being built in that case. Reported by Nico Weber. Differential Revision: https://reviews.llvm.org/D56732 llvm-svn: 351304
* [python] Make the collections import future-proofSerge Guelton2019-01-051-2/+9
| | | | | | | | | | | | | | | On Python 3.7 the old code raises a warning: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working class ArgumentsIterator(collections.Sequence): On Python 3.8 it wouldn't work anymore. Commited on behalf of Jakub Stasiak. Differential Revision: https://reviews.llvm.org/D56341 llvm-svn: 350467
* Make -Wstring-plus-int warns even if when the result is not out of boundsArnaud Bienner2019-01-031-2/+2
| | | | | | | | | | | | | | Summary: Patch by Arnaud Bienner Reviewers: sylvestre.ledru, thakis, serge-sans-paille Reviewed By: thakis Subscribers: arphaman, dyung, anemet, llvm-commits, cfe-commits Differential Revision: https://reviews.llvm.org/D55382 llvm-svn: 350335
* Portable Python script across Python versionSerge Guelton2019-01-031-3/+4
| | | | | | | | StringIO is obsoleted in Python3, replaced by io.BytesIO or io.StringIO depending on the use. Differential Revision: https://reviews.llvm.org/D55196 llvm-svn: 350318
* Portable Python script across Python versionSerge Guelton2018-12-181-1/+1
| | | | | | | | Make scripts more future-proof by importing most __future__ stuff. Differential Revision: https://reviews.llvm.org/D55208 llvm-svn: 349504
* Portable Python script across Python versionSerge Guelton2018-12-181-1/+1
| | | | | | | | | | | In Python3, dict.items, dict.keys, dict.values, zip, map and filter no longer return lists, they create generator instead. The portability patch consists in forcing an extra `list` call if the result is actually used as a list. `map` are replaced by list comprehension and `filter` by filtered list comprehension. Differential Revision: https://reviews.llvm.org/D55197 llvm-svn: 349501
* Portable Python script across Python versionSerge Guelton2018-12-181-0/+1
| | | | | | | | Using from __future__ import print_function it is possible to have a compatible behavior of `print(...)` across Python version. Differential Revision: https://reviews.llvm.org/D55213 llvm-svn: 349454
* Portable Python script across Python versionSerge Guelton2018-12-181-4/+2
| | | | | | | | Replace `xrange(...)` by either `range(...)` or `list(range(...))` depending on the context. Differential Revision: https://reviews.llvm.org/D55193 llvm-svn: 349448
* Revert "Try to update the test to fix the breakage With the new warning, we ↵Adam Nemet2018-12-141-1/+1
| | | | | | | | | | | | | | | | | | | are showing one more output in the test." This reverts commit r349064. This wasn't updating the right test. Causing (not the different line number from the previous revert): ====================================================================== FAIL: test_diagnostic_warning (tests.cindex.test_diagnostics.TestDiagnostics) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/buildslave/jenkins/workspace/clang-stage1-configure-RA/llvm/tools/clang/bindings/python/tests/cindex/test_diagnostics.py", line 18, in test_diagnostic_warning self.assertEqual(len(tu.diagnostics), 2) AssertionError: 1 != 2 llvm-svn: 349118
* Try to update the test to fix the breakageSylvestre Ledru2018-12-131-1/+1
| | | | | | With the new warning, we are showing one more output in the test. llvm-svn: 349064
* Portable Python script across versionSerge Guelton2018-12-031-9/+9
| | | | | | | | | Have all classes derive from object: that's implicitly the default in Python3, it needs to be done explicilty in Python2. Differential Revision: https://reviews.llvm.org/D55121 llvm-svn: 348127
* [python] Support PathLike filenames and directoriesMichal Gorny2018-11-105-18/+151
| | | | | | | | | | | | | | | Python 3.6 introduced a file system path protocol (PEP 519[1]). The standard library APIs accepting file system paths now accept path objects too. It could be useful to add this here as well for convenience. [1] https://www.python.org/dev/peps/pep-0519 Authored by: jstasiak (Jakub Stasiak) Differential Revision: https://reviews.llvm.org/D54120 llvm-svn: 346586
* Add check-clang-python to the Clang tests directory in IDEs; NFC.Aaron Ballman2018-10-181-0/+1
| | | | llvm-svn: 344750
* [python] [tests] Disable on known-broken archesMichal Gorny2018-10-171-11/+21
| | | | | | | | | | | | | | Disable the Python binding tests on AArch64, Hexagon and SystemZ following reports on test failures. The first two yield different results, possibly indicating test case problems. The last one seems to have broken FFI in Python. While at it, refactor the code to make adding future test restrictions easier. Differential Revision: https://reviews.llvm.org/D53326 llvm-svn: 344666
* [python] [tests] Disable python binding tests under LLVM_USE_SANITIZER=AddressArtem Dergachev2018-10-151-1/+16
| | | | | | | | | | | | They don't work yet. Patch by Dan Liew! rdar://problem/45242886 Differential Revision: https://reviews.llvm.org/D53239 llvm-svn: 344537
* [python] [tests] Re-add once again, this time without WindowsMichal Gorny2018-10-121-1/+6
| | | | llvm-svn: 344411
* Revert rL344365: [tests] Readd Python binding tests to check-allSimon Pilgrim2018-10-121-2/+1
| | | | | | | | | | Windows buildbots are still not happy Now that both issues found out during the last iteration have been fixed, reenable the Python binding tests on buildbots. ........ llvm-svn: 344408
* [tests] Readd Python binding tests to check-allMichal Gorny2018-10-121-1/+2
| | | | | | | Now that both issues found out during the last iteration have been fixed, reenable the Python binding tests on buildbots. llvm-svn: 344365
* [python] [tests] Remove cdb lookup failure testMichal Gorny2018-10-121-5/+0
| | | | | | | | | | Remove the test checking for compilation db lookup failure. Since r342228, JSONCompilationDatabasePlugin infers compile commands for missing files, therefore making the lookup always succeed. Differential Revision: https://reviews.llvm.org/D53202 llvm-svn: 344364
* [python] [tests] Fix calling tests on WindowsMichal Gorny2018-10-111-1/+3
| | | | | | | | | Fix passing arguments to the Python test command to use 'env' builtin CMake command, in order to fix compatibility with Windows. Differential Revision: https://reviews.llvm.org/D53151 llvm-svn: 344288
* [python] [tests] Retab CMakeLists.txt for consistency (NFC)Michal Gorny2018-10-111-3/+3
| | | | llvm-svn: 344263
* [tests] Remove Python tests from check-all due to breakageMichal Gorny2018-10-111-1/+1
| | | | | | | | | Remove the Python tests from default target in order to fix two kinds of breakage uncovered by enabling them: one failing test on Linux, and problem with the test command on Windows. Both to be addressed in followup revisions. llvm-svn: 344260
* [tests] Include Python binding tests in CMake rulesMichal Gorny2018-10-111-0/+8
| | | | | | | | | Add a new CMake rule check-clang-python to run the Python bindings' test suite, and include it in check-all. Differential Revision: https://reviews.llvm.org/D52840 llvm-svn: 344258
* Revert r344241 as it broke multiple bots.Aaron Ballman2018-10-111-7/+0
| | | | | | | http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/10814 http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/20613 llvm-svn: 344244
* [tests] Include Python binding tests in CMake rulesMichal Gorny2018-10-111-0/+7
| | | | | | | | | Add a new CMake rule check-clang-python to run the Python bindings' test suite, and include it in check-all. Differential Revision: https://reviews.llvm.org/D52840 llvm-svn: 344241
* [python] [tests] Support overriding library path via environmentMichal Gorny2018-10-1118-2/+86
| | | | | | | | | | | | | | | | | Support a new CLANG_LIBRARY_PATH environment variable for the Python binding tests. This variable can be used to force the bindings to load libclang.* from a specific directory. I plan to use this when integrating Python binding tests with the CMake build system. Currently, those tests load libclang.so from default search paths, so I would have to rely on platform-specific mechanics such as LD_LIBRARY_PATH. Instead of copying the whole logic necessary to handle platform differences into yet another place, it's easier to just add a dedicated variable for this purpose. Differential Revision: https://reviews.llvm.org/D52806 llvm-svn: 344240
* [python] [tests] Update test_code_completionMichal Gorny2018-09-241-4/+4
| | | | | | | | Update expected completions to match output generated by clang-7.0. Differential Revision: https://reviews.llvm.org/D50171 llvm-svn: 342897
* [python bindings] Expose getNumTemplateArgumentsJonathan Coe2018-09-112-0/+40
| | | | | | | | | | | | | | | Expose the C bindings for clang_Type_getNumTemplateArguments() and clang_Type_getTemplateArgumentAsType() in the python API. Patch by kjteske (Kyle Teske). Reviewed By: jbcoe Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D51299 llvm-svn: 341930
* [bindings] Fix most Python binding unittests on WindowsJonathan Coe2018-06-213-22/+21
| | | | | | | | | | | | | | | | | | Summary: This fixes all but one of the test cases for Windows. TestCDB will take more work to debug, as CompilationDatabase seems not to work correctly. Reviewers: bkramer, wanders, jbcoe Reviewed By: bkramer, jbcoe Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D47864 Patch written by ethanhs (Ethan) llvm-svn: 335282
* implementing Cursor.get_included_file in python bindingsJonathan Coe2018-05-102-4/+23
| | | | | | | | | | | | | | | | | | | | Summary: adding function: `Cursor.get_included_file` , so the C API's `clang_getIncludedFile` function is available on the python binding interface also adding test to unittests related ticket: https://bugs.llvm.org/show_bug.cgi?id=15223 Reviewers: mgorny, arphaman, jbcoe Reviewed By: jbcoe Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D46383 Patch by jlaz (József Láz) llvm-svn: 332045
* [python bindings] Fix Cursor.result_type for ObjC method declarations - Bug ↵Jonathan Coe2018-04-222-1/+18
| | | | | | | | | | | | | | | | | | | | | 36677 Summary: In cindex.py, Cursor.result_type called into the wrong libclang function, causing cursors for ObjC method declarations to return invalid result types. Fixes Bug 36677. Reviewers: jbcoe, rsmith Reviewed By: jbcoe Subscribers: cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D45671 Patch by kjteske (Kyle Teske). llvm-svn: 330557
* Fix typos in clangAlexander Kornienko2018-04-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found via codespell -q 3 -I ../clang-whitelist.txt Where whitelist consists of: archtype cas classs checkk compres definit frome iff inteval ith lod methode nd optin ot pres statics te thru Patch by luzpaz! (This is a subset of D44188 that applies cleanly with a few files that have dubious fixes reverted.) Differential revision: https://reviews.llvm.org/D44188 llvm-svn: 329399
* Remove duplicate python libclang changes from r320748Alex Lorenz2017-12-142-21/+0
| | | | llvm-svn: 320766
* [libclang] Add support for checking abstractness of recordsAlex Lorenz2017-12-142-0/+42
| | | | | | | | | | | This patch allows checking whether a C++ record declaration is abstract through libclang and clang.cindex (Python). Patch by Johann Klähn! Differential Revision: https://reviews.llvm.org/D36952 llvm-svn: 320748
* [python] [tests] Fix test_linkage for unique external linkageMichal Gorny2017-11-111-1/+2
| | | | | | | | | | | | Starting with r314037, anonymous namespaces no longer give unique-external linkage to variables. However, this linkage can still be achieved by using a type which is not exterally visible, e.g. through being declared in an anonymous namespace but used outside it. Fix the test to take advantage of that. Differential Revision: https://reviews.llvm.org/D39810 llvm-svn: 317986
OpenPOWER on IntegriCloud