35 lines
985 B
Diff
35 lines
985 B
Diff
|
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
|
||
|
|