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.
+2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * testsuite/odr_violation2.cc (Ordering::operator()): Make
+ expression even more complex.
+
2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/ver_test_pr16504.sh: Updated.
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) {