| From 029687831099bf1dcc944517f9e48af1db5b0361 Mon Sep 17 00:00:00 2001 |
| From: Boris Kolpackov <boris@codesynthesis.com> |
| Date: Fri, 23 Dec 2016 10:18:01 +0200 |
| Subject: [PATCH] Fix bug in GCC 6 input_location translation |
| |
| [Upstream: ec777147024fde72e4411cc6b1e1e49f4a1d1804] |
| Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com> |
| --- |
| odb/cxx-lexer.cxx | 8 ++++++++ |
| 1 file changed, 8 insertions(+) |
| |
| diff --git a/odb/cxx-lexer.cxx b/odb/cxx-lexer.cxx |
| index 64df296..ae045d9 100644 |
| --- a/odb/cxx-lexer.cxx |
| +++ b/odb/cxx-lexer.cxx |
| @@ -106,7 +106,15 @@ next (string& token, tree* node) |
| location_t cxx_pragma_lexer:: |
| location () const |
| { |
| + // Starting from GCC 6 the input location seem to require the same |
| + // translation as what we do in real_source_location(). |
| + // |
| +#if BUILDING_GCC_MAJOR >= 6 |
| + return linemap_resolve_location ( |
| + line_table, input_location, LRK_MACRO_EXPANSION_POINT, 0); |
| +#else |
| return input_location; |
| +#endif |
| } |
| |
| string cxx_pragma_lexer:: |
| -- |
| 2.25.0 |
| |