diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ca1fa6b098..6f6b2b9a726 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2003-09-28 Richard Henderson + + * stmt.c (expand_asm_operands): Take a location_t, instead of + individual file and line. + * c-typeck.c (c_expand_asm_operands): Likewise. + * tree.h (expand_asm_operands): Update decl. + * c-common.h (c_expand_asm_operands): Likewise. + * c-semantics (genrtl_asm_stmt): Update call. + 2003-09-28 Philip Blundell * config/arm/arm.c (legitimize_pic_address): Check diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index c84af19d0d6..46e76fd3057 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,7 @@ +2003-09-28 Richard Henderson + + * trans.c (tree_transform): Update call to expand_asm_operands. + 2003-09-21 Richard Henderson * trans.c, utils.c: Revert. diff --git a/gcc/ada/trans.c b/gcc/ada/trans.c index 8e6f9ac4e49..d666b2f10a6 100644 --- a/gcc/ada/trans.c +++ b/gcc/ada/trans.c @@ -3773,7 +3773,7 @@ tree_transform (gnat_node) gnu_orig_out_list = nreverse (gnu_orig_out_list); expand_asm_operands (gnu_template, gnu_output_list, gnu_input_list, gnu_clobber_list, Is_Asm_Volatile (gnat_node), - input_filename, input_line); + input_location); /* Copy all the intermediate outputs into the specified outputs. */ for (; gnu_output_list; diff --git a/gcc/c-common.h b/gcc/c-common.h index c8a0ecc9c6d..ccfc779bee0 100644 --- a/gcc/c-common.h +++ b/gcc/c-common.h @@ -1251,7 +1251,7 @@ extern tree build_return_stmt (tree); initializers and cleanups. */ #define COMPOUND_STMT_BODY_BLOCK(NODE) TREE_LANG_FLAG_3 (NODE) -extern void c_expand_asm_operands (tree, tree, tree, tree, int, const char *, int); +extern void c_expand_asm_operands (tree, tree, tree, tree, int, location_t); /* These functions must be defined by each front-end which implements a variant of the C language. They are used in c-common.c. */ diff --git a/gcc/c-semantics.c b/gcc/c-semantics.c index 4163d449199..a9825c87e68 100644 --- a/gcc/c-semantics.c +++ b/gcc/c-semantics.c @@ -749,7 +749,7 @@ genrtl_asm_stmt (tree cv_qualifier, tree string, tree output_operands, else c_expand_asm_operands (string, output_operands, input_operands, clobbers, cv_qualifier != NULL_TREE, - input_filename, input_line); + input_location); } /* Generate the RTL for a CLEANUP_STMT. */ diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 51887599caa..59110c829c5 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -6216,8 +6216,7 @@ build_asm_stmt (tree cv_qualifier, tree string, tree outputs, tree inputs, void c_expand_asm_operands (tree string, tree outputs, tree inputs, - tree clobbers, int vol, const char *filename, - int line) + tree clobbers, int vol, location_t locus) { int noutputs = list_length (outputs); int i; @@ -6235,7 +6234,7 @@ c_expand_asm_operands (tree string, tree outputs, tree inputs, /* Generate the ASM_OPERANDS insn; store into the TREE_VALUEs of OUTPUTS some trees for where the values were actually stored. */ - expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line); + expand_asm_operands (string, outputs, inputs, clobbers, vol, locus); /* Copy all the intermediate outputs into the specified outputs. */ for (i = 0, tail = outputs; tail; tail = TREE_CHAIN (tail), i++) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 63dcf9161ca..bfb4218d965 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2003-09-28 Richard Henderson + + * typeck.c (c_expand_asm_operands): Take location_t, instead of + individual file and line. + 2003-09-28 Andreas Jaeger * decl.c (cxx_builtin_type_decls): Convert to ISO C90 function diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 32447b6807b..5c45976bffe 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -5750,7 +5750,7 @@ convert_for_initialization (tree exp, tree type, tree rhs, int flags, void c_expand_asm_operands (tree string, tree outputs, tree inputs, tree clobbers, - int vol, const char *filename, int line) + int vol, location_t locus) { int noutputs = list_length (outputs); register int i; @@ -5765,7 +5765,7 @@ c_expand_asm_operands (tree string, tree outputs, tree inputs, tree clobbers, /* Generate the ASM_OPERANDS insn; store into the TREE_VALUEs of OUTPUTS some trees for where the values were actually stored. */ - expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line); + expand_asm_operands (string, outputs, inputs, clobbers, vol, locus); /* Copy all the intermediate outputs into the specified outputs. */ for (i = 0, tail = outputs; tail; tail = TREE_CHAIN (tail), i++) diff --git a/gcc/stmt.c b/gcc/stmt.c index 9d5553f2517..72746dfc2b3 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -1435,7 +1435,7 @@ decl_conflicts_with_clobbers_p (tree decl, const HARD_REG_SET clobbered_regs) void expand_asm_operands (tree string, tree outputs, tree inputs, - tree clobbers, int vol, const char *filename, int line) + tree clobbers, int vol, location_t locus) { rtvec argvec, constraintvec; rtx body; @@ -1656,7 +1656,7 @@ expand_asm_operands (tree string, tree outputs, tree inputs, : GET_MODE (output_rtx[0])), TREE_STRING_POINTER (string), empty_string, 0, argvec, constraintvec, - filename, line); + locus.file, locus.line); MEM_VOLATILE_P (body) = vol; @@ -1803,7 +1803,7 @@ expand_asm_operands (tree string, tree outputs, tree inputs, (GET_MODE (output_rtx[i]), TREE_STRING_POINTER (string), constraints[i], i, argvec, constraintvec, - filename, line)); + locus.file, locus.line)); MEM_VOLATILE_P (SET_SRC (XVECEXP (body, 0, i))) = vol; } diff --git a/gcc/tree.h b/gcc/tree.h index d742bc3d95b..a2a04a7cafc 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -2977,8 +2977,7 @@ extern void emit_nop (void); extern void expand_computed_goto (tree); extern bool parse_output_constraint (const char **, int, int, int, bool *, bool *, bool *); -extern void expand_asm_operands (tree, tree, tree, tree, int, - const char *, int); +extern void expand_asm_operands (tree, tree, tree, tree, int, location_t); extern tree resolve_asm_operand_names (tree, tree, tree); extern int any_pending_cleanups (void); extern void init_stmt_for_function (void);