Tidy use_complex_relocs_for

Since I was looking at this I decided to fix the formatting, and
used an old C switch statements trick to factor out common code.

	* symbols.c (use_complex_relocs_for): Formatting.  Factor out
	X_add_symbol tests.
This commit is contained in:
Alan Modra 2019-05-06 21:23:45 +09:30
parent 26bfd82367
commit 0f1309c8f7
2 changed files with 18 additions and 22 deletions

View File

@ -1,3 +1,8 @@
2019-05-07 Alan Modra <amodra@gmail.com>
* symbols.c (use_complex_relocs_for): Formatting. Factor out
X_add_symbol tests.
2019-05-06 Andrew Bennett <andrew.bennett@imgtec.com>
Faraz Shahbazker <fshahbazker@wavecomp.com>

View File

@ -1097,19 +1097,6 @@ use_complex_relocs_for (symbolS * symp)
case O_constant:
return 0;
case O_symbol:
case O_symbol_rva:
case O_uminus:
case O_bit_not:
case O_logical_not:
if ( (S_IS_COMMON (symp->sy_value.X_add_symbol)
|| S_IS_LOCAL (symp->sy_value.X_add_symbol))
&&
(S_IS_DEFINED (symp->sy_value.X_add_symbol)
&& S_GET_SEGMENT (symp->sy_value.X_add_symbol) != expr_section))
return 0;
break;
case O_multiply:
case O_divide:
case O_modulus:
@ -1129,18 +1116,22 @@ use_complex_relocs_for (symbolS * symp)
case O_gt:
case O_logical_and:
case O_logical_or:
if ( (S_IS_COMMON (symp->sy_value.X_add_symbol)
|| S_IS_LOCAL (symp->sy_value.X_add_symbol))
&&
(S_IS_COMMON (symp->sy_value.X_op_symbol)
if ((S_IS_COMMON (symp->sy_value.X_op_symbol)
|| S_IS_LOCAL (symp->sy_value.X_op_symbol))
&& S_IS_DEFINED (symp->sy_value.X_add_symbol)
&& S_IS_DEFINED (symp->sy_value.X_op_symbol)
&& S_GET_SEGMENT (symp->sy_value.X_add_symbol) != expr_section
&& S_GET_SEGMENT (symp->sy_value.X_op_symbol) != expr_section)
return 0;
{
case O_symbol:
case O_symbol_rva:
case O_uminus:
case O_bit_not:
case O_logical_not:
if ((S_IS_COMMON (symp->sy_value.X_add_symbol)
|| S_IS_LOCAL (symp->sy_value.X_add_symbol))
&& S_IS_DEFINED (symp->sy_value.X_add_symbol)
&& S_GET_SEGMENT (symp->sy_value.X_add_symbol) != expr_section)
return 0;
}
break;
default: