mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-21 02:59:05 +08:00
re PR rtl-optimization/190 (Optimization bug for x86 target)
PR opt/190 * final.c (this_is_asm_operands): Export. * output.h (this_is_asm_operands): Declare. * config/i386/i386.c (print_operand): Error odd asm operands. From-SVN: r51741
This commit is contained in:
parent
9cb88bc20c
commit
c8b947688f
@ -1,3 +1,10 @@
|
||||
2002-04-02 Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR opt/190
|
||||
* final.c (this_is_asm_operands): Export.
|
||||
* output.h (this_is_asm_operands): Declare.
|
||||
* config/i386/i386.c (print_operand): Error odd asm operands.
|
||||
|
||||
2002-04-02 Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR opt/420
|
||||
|
@ -5995,6 +5995,8 @@ print_operand (file, x, code)
|
||||
else if (CONSTANT_ADDRESS_P (x) && code =='P'
|
||||
&& GET_CODE (x) != CONST_INT)
|
||||
output_addr_const (file, x);
|
||||
else if (this_is_asm_operands && ! address_operand (x, VOIDmode))
|
||||
output_operand_lossage ("invalid constraints for operand");
|
||||
else
|
||||
output_address (x);
|
||||
}
|
||||
|
@ -122,7 +122,7 @@ extern int length_unit_log; /* This is defined in insn-attrtab.c. */
|
||||
/* Nonzero while outputting an `asm' with operands.
|
||||
This means that inconsistencies are the user's fault, so don't abort.
|
||||
The precise value is the insn being output, to pass to error_for_asm. */
|
||||
static rtx this_is_asm_operands;
|
||||
rtx this_is_asm_operands;
|
||||
|
||||
/* Number of operands of this insn, for an `asm' with operands. */
|
||||
static unsigned int insn_noperands;
|
||||
|
@ -465,6 +465,11 @@ extern struct rtx_def *current_insn_predicate;
|
||||
/* Last insn processed by final_scan_insn. */
|
||||
extern struct rtx_def *current_output_insn;
|
||||
|
||||
/* Nonzero while outputting an `asm' with operands.
|
||||
This means that inconsistencies are the user's fault, so don't abort.
|
||||
The precise value is the insn being output, to pass to error_for_asm. */
|
||||
extern rtx this_is_asm_operands;
|
||||
|
||||
/* Decide whether DECL needs to be in a writable section. RELOC is the same
|
||||
as for SELECT_SECTION. */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user