The following patch series eliminates the following macros that implicitly use input_location: input.h: #define input_line LOCATION_LINE (input_location) #define input_filename LOCATION_FILE (input_location) #define in_system_header (in_system_header_at (input_location)) #define EXPR_LOC_OR_HERE(NODE) (EXPR_HAS_LOCATION (NODE) \ ? (NODE)->exp.locus : input_location)
replacing the first three by their expansions inline, and the last by EXPR_LOC_OR_LOC(NODE, input_location) This is a revised version of the single patch I sent as: http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00072.html splitting it up into multiple patches by subdirectory, and trying to be less clever about picking alternate locations than "input_location" (removal of uses of "input_location" can wait for another patch, this series merely makes them explicit). Successfully bootstrapped®tested on x86_64-unknown-linux-gnu; my bootstrap covered c, c++, ada, fortran, but managed to miss java (though Tom already approved that part in a previous version). OK for trunk, assuming I can get it to build with Java, and targetting bfin? David Malcolm (9): java: Convert implicit uses of input_location into explicit uses ada: Eliminate uses of input_line macro. c-family: Convert implicit uses of input_location into explicit uses cp: Convert implicit uses of input_location into explicit uses gcc/c: Convert implicit uses of input_location into explicit uses fortran: Remove use of input_line macro bfin: Remove use of input_filename macro. gcc: Convert implicit uses of input_location into explicit uses gcc: Remove macros that implicitly use input_location gcc/ada/gcc-interface/utils2.c | 7 +++--- gcc/builtins.c | 2 +- gcc/c-family/c-common.c | 12 +++++------ gcc/c-family/c-lex.c | 6 +++--- gcc/c-family/c-pragma.c | 4 ++-- gcc/c/c-decl.c | 49 +++++++++++++++++++++++++----------------- gcc/c/c-parser.c | 5 ++--- gcc/c/c-typeck.c | 6 +++--- gcc/config/bfin/bfin.c | 2 +- gcc/cp/call.c | 12 +++++------ gcc/cp/cvt.c | 8 +++---- gcc/cp/decl.c | 18 +++++++++------- gcc/cp/error.c | 6 +++--- gcc/cp/init.c | 4 ++-- gcc/cp/lex.c | 13 +++++------ gcc/cp/name-lookup.c | 8 ++++--- gcc/cp/parser.c | 14 ++++++------ gcc/cp/pt.c | 20 +++++++++-------- gcc/cp/semantics.c | 15 +++++++------ gcc/cp/typeck.c | 17 +++++++++------ gcc/cp/typeck2.c | 4 ++-- gcc/fortran/trans.c | 2 +- gcc/gimplify.c | 10 ++++----- gcc/input.h | 3 --- gcc/java/class.c | 2 +- gcc/java/decl.c | 2 +- gcc/java/jcf-parse.c | 18 ++++++++++------ gcc/tree-diagnostic.c | 3 ++- gcc/tree.c | 4 ++-- gcc/tree.h | 2 -- 30 files changed, 150 insertions(+), 128 deletions(-) -- 1.7.11.7