[PATCH] gold: Make Ordering::operator() even more complex
H.J. Lu
hjl.tools@gmail.com
Fri Jan 31 23:32:00 GMT 2020
GCC 9 generates the same function size for Ordering::operator() in
odr_violation1.cc and odr_violation2.cc on x32:
134: 00000000 31 FUNC WEAK DEFAULT 64 _ZN8OrderingclEii
40: 00000000 31 FUNC GLOBAL DEFAULT 10 _ZN8OrderingclEii
This patch makes Ordering::operator() even more complex
134: 00000000 31 FUNC WEAK DEFAULT 64 _ZN8OrderingclEii
42: 00000000 35 FUNC GLOBAL DEFAULT 11 _ZN8OrderingclEii
* testsuite/odr_violation2.cc (Ordering::operator()): Make
expression even more complex.
---
gold/testsuite/odr_violation2.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gold/testsuite/odr_violation2.cc b/gold/testsuite/odr_violation2.cc
index aa9868fc27c..35dd454704b 100644
--- a/gold/testsuite/odr_violation2.cc
+++ b/gold/testsuite/odr_violation2.cc
@@ -12,7 +12,7 @@ class Ordering {
bool Ordering::operator()(int a, int b) {
// Optimization makes this operator() a different size than the one
// in odr_violation1.cc.
- return a + 12345 > b / 67;
+ return (a * 30 + b + 12345) > b / 67;
}
void SortDescending(int array[], int size) {
--
2.24.1
More information about the Binutils
mailing list