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