gcc/c-family

        * c-common.c (unsafe_conversion_p): Remove use of
        EXPR_LOC_OR_HERE macro.
        (conversion_warning): Likewise.
        (warnings_for_convert_and_check): Likewise.
        (warn_for_collisions_1): Likewise.
        (shorten_compare): Likewise, and remove use of in_system_header
        macro, using the location from the former.
        * c-lex.c (dump_one_header): Remove use of input_filename macro.
        (cb_def_pragma): Remove use of in_system_header macro.
        (lex_string): Likewise.
        * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.

Conflicts:
        gcc/c-family/c-common.c
---
 gcc/c-family/c-common.c | 12 ++++++------
 gcc/c-family/c-lex.c    |  6 +++---
 gcc/c-family/c-pragma.c |  4 ++--
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index 97f33c1..1ceaeb5 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -2552,7 +2552,7 @@ unsafe_conversion_p (tree type, tree expr, bool 
produce_warns)
 {
   enum conversion_safety give_warning = SAFE_CONVERSION; /* is 0 or false */
   tree expr_type = TREE_TYPE (expr);
-  location_t loc = EXPR_LOC_OR_HERE (expr);
+  location_t loc = EXPR_LOC_OR_LOC (expr, input_location);
 
   if (TREE_CODE (expr) == REAL_CST || TREE_CODE (expr) == INTEGER_CST)
     {
@@ -2718,7 +2718,7 @@ static void
 conversion_warning (tree type, tree expr)
 {
   tree expr_type = TREE_TYPE (expr);
-  location_t loc = EXPR_LOC_OR_HERE (expr);
+  location_t loc = EXPR_LOC_OR_LOC (expr, input_location);
   enum conversion_safety conversion_kind;
 
   if (!warn_conversion && !warn_sign_conversion && !warn_float_conversion)
@@ -2791,7 +2791,7 @@ conversion_warning (tree type, tree expr)
 void
 warnings_for_convert_and_check (tree type, tree expr, tree result)
 {
-  location_t loc = EXPR_LOC_OR_HERE (expr);
+  location_t loc = EXPR_LOC_OR_LOC (expr, input_location);
 
   if (TREE_CODE (expr) == INTEGER_CST
       && (TREE_CODE (type) == INTEGER_TYPE
@@ -3001,7 +3001,7 @@ warn_for_collisions_1 (tree written, tree writer, struct 
tlist *list,
          && (!only_writes || list->writer))
        {
          warned_ids = new_tlist (warned_ids, written, NULL_TREE);
-         warning_at (EXPR_LOC_OR_HERE (writer),
+         warning_at (EXPR_LOC_OR_LOC (writer, input_location),
                      OPT_Wsequence_point, "operation on %qE may be undefined",
                      list->expr);
        }
@@ -3999,7 +3999,7 @@ shorten_compare (tree *op0_ptr, tree *op1_ptr, tree 
*restype_ptr,
   int real1, real2;
   tree primop0, primop1;
   enum tree_code code = *rescode_ptr;
-  location_t loc = EXPR_LOC_OR_HERE (op0);
+  location_t loc = EXPR_LOC_OR_LOC (op0, input_location);
 
   /* Throw away any conversions to wider types
      already present in the operands.  */
@@ -4297,7 +4297,7 @@ shorten_compare (tree *op0_ptr, tree *op1_ptr, tree 
*restype_ptr,
             the comparison isn't an issue, so suppress the
             warning.  */
          bool warn = 
-           warn_type_limits && !in_system_header
+           warn_type_limits && !in_system_header_at (loc)
            && c_inhibit_evaluation_warnings == 0
            && !(TREE_CODE (primop0) == INTEGER_CST
                 && !TREE_OVERFLOW (convert (c_common_signed_type (type),
diff --git a/gcc/c-family/c-lex.c b/gcc/c-family/c-lex.c
index 85fa426..2130296 100644
--- a/gcc/c-family/c-lex.c
+++ b/gcc/c-family/c-lex.c
@@ -147,7 +147,7 @@ dump_one_header (splay_tree_node n, void * ARG_UNUSED 
(dummy))
 void
 dump_time_statistics (void)
 {
-  struct c_fileinfo *file = get_fileinfo (input_filename);
+  struct c_fileinfo *file = get_fileinfo (LOCATION_FILE (input_location));
   int this_time = get_run_time ();
   file->time += this_time - body_time;
 
@@ -243,7 +243,7 @@ cb_def_pragma (cpp_reader *pfile, source_location loc)
   /* Issue a warning message if we have been asked to do so.  Ignore
      unknown pragmas in system headers unless an explicit
      -Wunknown-pragmas has been given.  */
-  if (warn_unknown_pragmas > in_system_header)
+  if (warn_unknown_pragmas > in_system_header_at (input_location))
     {
       const unsigned char *space, *name;
       const cpp_token *s;
@@ -1071,7 +1071,7 @@ lex_string (const cpp_token *tok, tree *valp, bool 
objc_string, bool translate)
   if (concats)
     strs = XOBFINISH (&str_ob, cpp_string *);
 
-  if (concats && !objc_string && !in_system_header)
+  if (concats && !objc_string && !in_system_header_at (input_location))
     warning (OPT_Wtraditional,
             "traditional C rejects string constant concatenation");
 
diff --git a/gcc/c-family/c-pragma.c b/gcc/c-family/c-pragma.c
index 70fb39a..64a5b66 100644
--- a/gcc/c-family/c-pragma.c
+++ b/gcc/c-family/c-pragma.c
@@ -1121,7 +1121,7 @@ handle_pragma_float_const_decimal64 (cpp_reader 
*ARG_UNUSED (dummy))
 {
   if (c_dialect_cxx ())
     {
-      if (warn_unknown_pragmas > in_system_header)
+      if (warn_unknown_pragmas > in_system_header_at (input_location))
        warning (OPT_Wunknown_pragmas,
                 "%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported"
                 " for C++");
@@ -1130,7 +1130,7 @@ handle_pragma_float_const_decimal64 (cpp_reader 
*ARG_UNUSED (dummy))
 
   if (!targetm.decimal_float_supported_p ())
     {
-      if (warn_unknown_pragmas > in_system_header)
+      if (warn_unknown_pragmas > in_system_header_at (input_location))
        warning (OPT_Wunknown_pragmas,
                 "%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported"
                 " on this target");
-- 
1.7.11.7

Reply via email to