1*4882a593SmuzhiyunFrom 029687831099bf1dcc944517f9e48af1db5b0361 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Boris Kolpackov <boris@codesynthesis.com>
3*4882a593SmuzhiyunDate: Fri, 23 Dec 2016 10:18:01 +0200
4*4882a593SmuzhiyunSubject: [PATCH] Fix bug in GCC 6 input_location translation
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun[Upstream: ec777147024fde72e4411cc6b1e1e49f4a1d1804]
7*4882a593SmuzhiyunSigned-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
8*4882a593Smuzhiyun---
9*4882a593Smuzhiyun odb/cxx-lexer.cxx | 8 ++++++++
10*4882a593Smuzhiyun 1 file changed, 8 insertions(+)
11*4882a593Smuzhiyun
12*4882a593Smuzhiyundiff --git a/odb/cxx-lexer.cxx b/odb/cxx-lexer.cxx
13*4882a593Smuzhiyunindex 64df296..ae045d9 100644
14*4882a593Smuzhiyun--- a/odb/cxx-lexer.cxx
15*4882a593Smuzhiyun+++ b/odb/cxx-lexer.cxx
16*4882a593Smuzhiyun@@ -106,7 +106,15 @@ next (string& token, tree* node)
17*4882a593Smuzhiyun location_t cxx_pragma_lexer::
18*4882a593Smuzhiyun location () const
19*4882a593Smuzhiyun {
20*4882a593Smuzhiyun+  // Starting from GCC 6 the input location seem to require the same
21*4882a593Smuzhiyun+  // translation as what we do in real_source_location().
22*4882a593Smuzhiyun+  //
23*4882a593Smuzhiyun+#if BUILDING_GCC_MAJOR >= 6
24*4882a593Smuzhiyun+  return linemap_resolve_location (
25*4882a593Smuzhiyun+    line_table, input_location, LRK_MACRO_EXPANSION_POINT, 0);
26*4882a593Smuzhiyun+#else
27*4882a593Smuzhiyun   return input_location;
28*4882a593Smuzhiyun+#endif
29*4882a593Smuzhiyun }
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun string cxx_pragma_lexer::
32*4882a593Smuzhiyun--
33*4882a593Smuzhiyun2.25.0
34*4882a593Smuzhiyun
35