diff options
| -rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/testsuite/g++.dg/pch/operator-1.C | 2 | ||||
| -rw-r--r-- | gcc/testsuite/g++.dg/pch/operator-1.Hs | 9 | ||||
| -rw-r--r-- | libcpp/ChangeLog | 6 | ||||
| -rw-r--r-- | libcpp/lex.c | 6 | 
5 files changed, 28 insertions, 1 deletions
| diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fe971aa..bb03a9b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2019-05-19  Andrew Pinski  <apinski@marvell.com> + +	PR pch/81721 +	* g++.dg/pch/operator-1.C: New testcase. +	* g++.dg/pch/operator-1.Hs: New file. +  2019-05-19  Paul Thomas  <pault@gcc.gnu.org>  	PR fortran/90498 diff --git a/gcc/testsuite/g++.dg/pch/operator-1.C b/gcc/testsuite/g++.dg/pch/operator-1.C new file mode 100644 index 0000000..290b5f7 --- /dev/null +++ b/gcc/testsuite/g++.dg/pch/operator-1.C @@ -0,0 +1,2 @@ +#include "operator-1.H" +int main(void){ major(0);} /* { dg-warning "Did not Work" } */ diff --git a/gcc/testsuite/g++.dg/pch/operator-1.Hs b/gcc/testsuite/g++.dg/pch/operator-1.Hs new file mode 100644 index 0000000..657dae1 --- /dev/null +++ b/gcc/testsuite/g++.dg/pch/operator-1.Hs @@ -0,0 +1,9 @@ +# define __glibc_macro_warning1(message) _Pragma (#message) +# define __glibc_macro_warning(message) \ +  __glibc_macro_warning1 (GCC warning message) +#define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__) + +#define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \ + (Did not Work) + +# define major(dev) __SYSMACROS_DM (major) (dev+0) diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 317d1bd..71a0949 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,9 @@ +2019-05-19  Andrew Pinski  <apinski@marvell.com> + +	PR pch/81721 +	* lex.c (cpp_token_val_index <case SPELL_OPERATOR>): If tok->flags +	has NAMED_OP set, then return CPP_TOKEN_FLD_NODE. +  2019-05-14  Martin Liska  <mliska@suse.cz>  	PR preprocessor/90382 diff --git a/libcpp/lex.c b/libcpp/lex.c index eedfcbb..16ded6e 100644 --- a/libcpp/lex.c +++ b/libcpp/lex.c @@ -3756,7 +3756,11 @@ cpp_token_val_index (const cpp_token *tok)      case SPELL_LITERAL:        return CPP_TOKEN_FLD_STR;      case SPELL_OPERATOR: -      if (tok->type == CPP_PASTE) +      /* Operands which were originally spelled as ident keep around +         the node for the exact spelling.  */ +      if (tok->flags & NAMED_OP) +	return CPP_TOKEN_FLD_NODE; +      else if (tok->type == CPP_PASTE)  	return CPP_TOKEN_FLD_TOKEN_NO;        else  	return CPP_TOKEN_FLD_NONE; | 
