s390.c (print_operand_address): Replace 'error' with 'output_operand_lossage'.

2011-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (print_operand_address): Replace 'error' with
	'output_operand_lossage'.
	(print_operand): Likewise.

From-SVN: r168748
This commit is contained in:
Andreas Krebbel 2011-01-13 13:45:00 +00:00 committed by Andreas Krebbel
parent 29fa95ed57
commit 3f3c098d96
2 changed files with 34 additions and 16 deletions

View File

@ -1,3 +1,9 @@
2011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (print_operand_address): Replace 'error' with
'output_operand_lossage'.
(print_operand): Likewise.
2011-01-13 Jeff Law <law@redhat.com>
* PR rtl-optimization/39077

View File

@ -5131,7 +5131,8 @@ print_operand_address (FILE *file, rtx addr)
{
if (!TARGET_Z10)
{
error ("symbolic memory references are only supported on z10 or later");
output_operand_lossage ("symbolic memory references are "
"only supported on z10 or later");
return;
}
output_addr_const (file, addr);
@ -5200,7 +5201,8 @@ print_operand (FILE *file, rtx x, int code)
else if (GET_CODE (x) == GT)
fprintf (file, "h");
else
error ("invalid comparison operator for 'E' output modifier");
output_operand_lossage ("invalid comparison operator "
"for 'E' output modifier");
return;
case 'J':
@ -5220,7 +5222,7 @@ print_operand (FILE *file, rtx x, int code)
assemble_name (file, get_some_local_dynamic_name ());
}
else
error ("invalid reference for 'J' output modifier");
output_operand_lossage ("invalid reference for 'J' output modifier");
return;
case 'G':
@ -5234,7 +5236,8 @@ print_operand (FILE *file, rtx x, int code)
if (!MEM_P (x))
{
error ("memory reference expected for 'O' output modifier");
output_operand_lossage ("memory reference expected for "
"'O' output modifier");
return;
}
@ -5244,7 +5247,7 @@ print_operand (FILE *file, rtx x, int code)
|| (ad.base && !REGNO_OK_FOR_BASE_P (REGNO (ad.base)))
|| ad.indx)
{
error ("invalid address for 'O' output modifier");
output_operand_lossage ("invalid address for 'O' output modifier");
return;
}
@ -5262,7 +5265,8 @@ print_operand (FILE *file, rtx x, int code)
if (!MEM_P (x))
{
error ("memory reference expected for 'R' output modifier");
output_operand_lossage ("memory reference expected for "
"'R' output modifier");
return;
}
@ -5272,7 +5276,7 @@ print_operand (FILE *file, rtx x, int code)
|| (ad.base && !REGNO_OK_FOR_BASE_P (REGNO (ad.base)))
|| ad.indx)
{
error ("invalid address for 'R' output modifier");
output_operand_lossage ("invalid address for 'R' output modifier");
return;
}
@ -5290,7 +5294,8 @@ print_operand (FILE *file, rtx x, int code)
if (!MEM_P (x))
{
error ("memory reference expected for 'S' output modifier");
output_operand_lossage ("memory reference expected for "
"'S' output modifier");
return;
}
ret = s390_decompose_address (XEXP (x, 0), &ad);
@ -5299,7 +5304,7 @@ print_operand (FILE *file, rtx x, int code)
|| (ad.base && !REGNO_OK_FOR_BASE_P (REGNO (ad.base)))
|| ad.indx)
{
error ("invalid address for 'S' output modifier");
output_operand_lossage ("invalid address for 'S' output modifier");
return;
}
@ -5319,7 +5324,8 @@ print_operand (FILE *file, rtx x, int code)
else if (GET_CODE (x) == MEM)
x = change_address (x, VOIDmode, plus_constant (XEXP (x, 0), 4));
else
error ("register or memory expression expected for 'N' output modifier");
output_operand_lossage ("register or memory expression expected "
"for 'N' output modifier");
break;
case 'M':
@ -5328,7 +5334,8 @@ print_operand (FILE *file, rtx x, int code)
else if (GET_CODE (x) == MEM)
x = change_address (x, VOIDmode, plus_constant (XEXP (x, 0), 8));
else
error ("register or memory expression expected for 'M' output modifier");
output_operand_lossage ("register or memory expression expected "
"for 'M' output modifier");
break;
case 'Y':
@ -5387,21 +5394,26 @@ print_operand (FILE *file, rtx x, int code)
else if (code == 'x')
fprintf (file, HOST_WIDE_INT_PRINT_DEC, CONST_DOUBLE_LOW (x) & 0xffff);
else if (code == 'h')
fprintf (file, HOST_WIDE_INT_PRINT_DEC, ((CONST_DOUBLE_LOW (x) & 0xffff) ^ 0x8000) - 0x8000);
fprintf (file, HOST_WIDE_INT_PRINT_DEC,
((CONST_DOUBLE_LOW (x) & 0xffff) ^ 0x8000) - 0x8000);
else
{
if (code == 0)
error ("invalid constant - try using an output modifier");
output_operand_lossage ("invalid constant - try using "
"an output modifier");
else
error ("invalid constant for output modifier '%c'", code);
output_operand_lossage ("invalid constant for output modifier '%c'",
code);
}
break;
default:
if (code == 0)
error ("invalid expression - try using an output modifier");
output_operand_lossage ("invalid expression - try using "
"an output modifier");
else
error ("invalid expression for output modifier '%c'", code);
output_operand_lossage ("invalid expression for output "
"modifier '%c'", code);
break;
}
}