diff options
Diffstat (limited to 'libcpp/expr.c')
| -rw-r--r-- | libcpp/expr.c | 11 | 
1 files changed, 8 insertions, 3 deletions
diff --git a/libcpp/expr.c b/libcpp/expr.c index 46d9fd3..0eb6c13 100644 --- a/libcpp/expr.c +++ b/libcpp/expr.c @@ -621,7 +621,7 @@ cpp_classify_number (cpp_reader *pfile, const cpp_token *token,  	  && CPP_OPTION (pfile, cpp_warn_long_long))          {            const char *message = CPP_OPTION (pfile, cplusplus)  -		                ? N_("use of C++0x long long integer constant") +				? N_("use of C++11 long long integer constant")  		                : N_("use of C99 long long integer constant");  	  if (CPP_OPTION (pfile, c99)) @@ -639,9 +639,14 @@ cpp_classify_number (cpp_reader *pfile, const cpp_token *token,    if ((result & CPP_N_IMAGINARY) && CPP_PEDANTIC (pfile))      cpp_error_with_line (pfile, CPP_DL_PEDWARN, virtual_location, 0,  			 "imaginary constants are a GCC extension"); -  if (radix == 2 && CPP_PEDANTIC (pfile)) +  if (radix == 2 +      && !CPP_OPTION (pfile, binary_constants) +      && CPP_PEDANTIC (pfile))      cpp_error_with_line (pfile, CPP_DL_PEDWARN, virtual_location, 0, -			 "binary constants are a GCC extension"); +			 CPP_OPTION (pfile, cplusplus) +			 ? "binary constants are a C++1y feature " +			   "or GCC extension" +			 : "binary constants are a GCC extension");    if (radix == 10)      result |= CPP_N_DECIMAL;  | 
