style: Treat PyBind headers as Python headers

Some PyBind11 headers need to include Python.h. This means that we need
to include PyBind11 headers before any standard library headers. Enforce
this by applying the Python.hh rules for anything in pybind11/.

Change-Id: Id175a4f613960a17f84f98b81bfd02806e905d5a
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Curtis Dunham <curtis.dunham@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/3120
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Tony Gutierrez <anthony.gutierrez@amd.com>
This commit is contained in:
Andreas Sandberg
2017-05-02 14:04:44 +01:00
parent 7f3e8d056c
commit 20e221c9c9

View File

@@ -158,6 +158,8 @@ class SortIncludes(object):
includes_re = (
('main', '""', _include_matcher_main()),
('python', '<>', _include_matcher_fname("^Python\.h$")),
('pybind', '""', _include_matcher_fname("^pybind11/.*\.h$",
delim='""')),
('c', '<>', _include_matcher_fname("^.*\.h$")),
('stl', '<>', _include_matcher_fname("^\w+$")),
('cc', '<>', _include_matcher_fname("^.*\.(hh|hxx|hpp|H)$")),
@@ -170,6 +172,7 @@ class SortIncludes(object):
block_order = (
('python', ),
('pybind', ),
('main', ),
('c', ),
('stl', ),