This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
file+line elimination in expand_asm_operands
- From: Richard Henderson <rth at twiddle dot net>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sun, 28 Sep 2003 12:16:53 -0700
- Subject: file+line elimination in expand_asm_operands
* 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.
cp/
* typeck.c (c_expand_asm_operands): Take location_t, instead of
individual file and line.
ada/
* trans.c (tree_transform): Update call to expand_asm_operands.
Index: c-common.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-common.h,v
retrieving revision 1.209
diff -u -p -r1.209 c-common.h
--- c-common.h 25 Sep 2003 01:25:45 -0000 1.209
+++ c-common.h 28 Sep 2003 19:02:23 -0000
@@ -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. */
Index: c-semantics.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-semantics.c,v
retrieving revision 1.71
diff -u -p -r1.71 c-semantics.c
--- c-semantics.c 29 Aug 2003 22:44:05 -0000 1.71
+++ c-semantics.c 28 Sep 2003 19:02:24 -0000
@@ -749,7 +749,7 @@ genrtl_asm_stmt (tree cv_qualifier, tree
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. */
Index: c-typeck.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/c-typeck.c,v
retrieving revision 1.258
diff -u -p -r1.258 c-typeck.c
--- c-typeck.c 25 Sep 2003 01:25:50 -0000 1.258
+++ c-typeck.c 28 Sep 2003 19:02:29 -0000
@@ -6216,8 +6216,7 @@ build_asm_stmt (tree cv_qualifier, tree
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
/* 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++)
Index: stmt.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/stmt.c,v
retrieving revision 1.332
diff -u -p -r1.332 stmt.c
--- stmt.c 22 Sep 2003 05:09:12 -0000 1.332
+++ stmt.c 28 Sep 2003 19:02:34 -0000
@@ -1435,7 +1435,7 @@ decl_conflicts_with_clobbers_p (tree dec
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 o
: 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 o
(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;
}
Index: tree.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree.h,v
retrieving revision 1.446
diff -u -p -r1.446 tree.h
--- tree.h 22 Sep 2003 05:09:15 -0000 1.446
+++ tree.h 28 Sep 2003 19:02:37 -0000
@@ -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);
Index: ada/trans.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/trans.c,v
retrieving revision 1.32
diff -u -p -r1.32 trans.c
--- ada/trans.c 22 Sep 2003 05:09:20 -0000 1.32
+++ ada/trans.c 28 Sep 2003 19:02:44 -0000
@@ -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;
Index: cp/typeck.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/typeck.c,v
retrieving revision 1.504
diff -u -p -r1.504 typeck.c
--- cp/typeck.c 16 Sep 2003 15:27:50 -0000 1.504
+++ cp/typeck.c 28 Sep 2003 19:02:50 -0000
@@ -5750,7 +5750,7 @@ convert_for_initialization (tree exp, tr
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
/* 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++)