[binutils-gdb] Tidy use_complex_relocs_for
Alan Modra
amodra@sourceware.org
Tue May 7 06:07:00 GMT 2019
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0f1309c8f7530b31ecc73c55e86572ff72256947
commit 0f1309c8f7530b31ecc73c55e86572ff72256947
Author: Alan Modra <amodra@gmail.com>
Date: Mon May 6 21:23:45 2019 +0930
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.
Diff:
---
gas/ChangeLog | 5 +++++
gas/symbols.c | 35 +++++++++++++----------------------
2 files changed, 18 insertions(+), 22 deletions(-)
diff --git a/gas/ChangeLog b/gas/ChangeLog
index e83a893..fc8ea0b 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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>
diff --git a/gas/symbols.c b/gas/symbols.c
index 10d7b1c..918028f 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -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:
More information about the Binutils-cvs
mailing list