aadsm updated this revision to Diff 287160. aadsm added a comment. After reading a bit more how clang-tidy works this isn't fixable because it actually needs to compile it. I also didn't find a way to exclude a file from it. My plan is to just land this and then make a PR to add this file to https://github.com/google/llvm-premerge-checks/blob/master/scripts/clang-tidy.ignore
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D86381/new/ https://reviews.llvm.org/D86381 Files: lldb/bindings/python/python-typemaps.h lldb/bindings/python/python-typemaps.swig Index: lldb/bindings/python/python-typemaps.swig =================================================================== --- lldb/bindings/python/python-typemaps.swig +++ lldb/bindings/python/python-typemaps.swig @@ -1,5 +1,11 @@ /* Typemap definitions, to allow SWIG to properly handle 'char**' data types. */ +%inline %{ + +#include "../bindings/python/python-typemaps.h" + +%} + %typemap(in) char ** { /* Check if is a list */ if (PythonList::Check($input)) { @@ -61,7 +67,7 @@ %typemap(in) lldb::tid_t { PythonObject obj = Retain<PythonObject>($input); - lldb::tid_t value = unwrapOrSetPythonException(As<unsigned long long>(obj)); + lldb::tid_t value = unwrapOrSetPythonException(As<unsigned long long>(obj)); if (PyErr_Occurred()) return nullptr; $1 = value; @@ -476,21 +482,6 @@ } } -%inline %{ - -struct Py_buffer_RAII { - Py_buffer buffer = {}; - Py_buffer_RAII() {}; - Py_buffer &operator=(const Py_buffer_RAII &) = delete; - Py_buffer_RAII(const Py_buffer_RAII &) = delete; - ~Py_buffer_RAII() { - if (buffer.obj) - PyBuffer_Release(&buffer); - } -}; - -%} - // These two pybuffer macros are copied out of swig/Lib/python/pybuffer.i, // and fixed so they will not crash if PyObject_GetBuffer fails. // https://github.com/swig/swig/issues/1640 Index: lldb/bindings/python/python-typemaps.h =================================================================== --- /dev/null +++ lldb/bindings/python/python-typemaps.h @@ -0,0 +1,17 @@ +#ifndef LLDB_BINDINGS_PYTHON_PYTHON_TYPEMAPS_H +#define LLDB_BINDINGS_PYTHON_PYTHON_TYPEMAPS_H + +// Defined here instead of a .swig file because SWIG 2 doesn't support +// explicit deleted functions. +struct Py_buffer_RAII { + Py_buffer buffer = {}; + Py_buffer_RAII(){}; + Py_buffer &operator=(const Py_buffer_RAII &) = delete; + Py_buffer_RAII(const Py_buffer_RAII &) = delete; + ~Py_buffer_RAII() { + if (buffer.obj) + PyBuffer_Release(&buffer); + } +}; + +#endif // LLDB_BINDINGS_PYTHON_PYTHON_TYPEMAPS_H
Index: lldb/bindings/python/python-typemaps.swig =================================================================== --- lldb/bindings/python/python-typemaps.swig +++ lldb/bindings/python/python-typemaps.swig @@ -1,5 +1,11 @@ /* Typemap definitions, to allow SWIG to properly handle 'char**' data types. */ +%inline %{ + +#include "../bindings/python/python-typemaps.h" + +%} + %typemap(in) char ** { /* Check if is a list */ if (PythonList::Check($input)) { @@ -61,7 +67,7 @@ %typemap(in) lldb::tid_t { PythonObject obj = Retain<PythonObject>($input); - lldb::tid_t value = unwrapOrSetPythonException(As<unsigned long long>(obj)); + lldb::tid_t value = unwrapOrSetPythonException(As<unsigned long long>(obj)); if (PyErr_Occurred()) return nullptr; $1 = value; @@ -476,21 +482,6 @@ } } -%inline %{ - -struct Py_buffer_RAII { - Py_buffer buffer = {}; - Py_buffer_RAII() {}; - Py_buffer &operator=(const Py_buffer_RAII &) = delete; - Py_buffer_RAII(const Py_buffer_RAII &) = delete; - ~Py_buffer_RAII() { - if (buffer.obj) - PyBuffer_Release(&buffer); - } -}; - -%} - // These two pybuffer macros are copied out of swig/Lib/python/pybuffer.i, // and fixed so they will not crash if PyObject_GetBuffer fails. // https://github.com/swig/swig/issues/1640 Index: lldb/bindings/python/python-typemaps.h =================================================================== --- /dev/null +++ lldb/bindings/python/python-typemaps.h @@ -0,0 +1,17 @@ +#ifndef LLDB_BINDINGS_PYTHON_PYTHON_TYPEMAPS_H +#define LLDB_BINDINGS_PYTHON_PYTHON_TYPEMAPS_H + +// Defined here instead of a .swig file because SWIG 2 doesn't support +// explicit deleted functions. +struct Py_buffer_RAII { + Py_buffer buffer = {}; + Py_buffer_RAII(){}; + Py_buffer &operator=(const Py_buffer_RAII &) = delete; + Py_buffer_RAII(const Py_buffer_RAII &) = delete; + ~Py_buffer_RAII() { + if (buffer.obj) + PyBuffer_Release(&buffer); + } +}; + +#endif // LLDB_BINDINGS_PYTHON_PYTHON_TYPEMAPS_H
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits