+2017-12-01 Cary Coutant <ccoutant@gmail.com>
+
+ PR gold/21841
+ * testsuite/debug_msg.sh: Adjust expected line numbers.
+ * testsuite/odr_violation2.cc (DummyFunction): New function.
+
2017-12-01 Cary Coutant <ccoutant@gmail.com>
PR gold/22309
check_missing debug_msg.err "odr_violation2.cc:2[3-5]"
check debug_msg.err ": symbol 'SometimesInlineFunction(int)' defined in multiple places (possible ODR violation):"
check debug_msg.err "debug_msg.cc:6[89]"
-check debug_msg.err "odr_violation2.cc:2[7-9]"
+check debug_msg.err "odr_violation2.cc:3[0-7]"
# Check for the same error messages when using --compressed-debug-sections.
if test -r debug_msg_cdebug.err
check_missing debug_msg_cdebug.err "odr_violation2.cc:2[3-5]"
check debug_msg_cdebug.err ": symbol 'SometimesInlineFunction(int)' defined in multiple places (possible ODR violation):"
check debug_msg_cdebug.err "debug_msg.cc:6[89]"
- check debug_msg_cdebug.err "odr_violation2.cc:2[7-9]"
+ check debug_msg_cdebug.err "odr_violation2.cc:3[0-7]"
fi
# When linking together .so's, we don't catch the line numbers, but we
check_missing debug_msg_so.err "odr_violation2.cc:2[3-5]"
check debug_msg_so.err ": symbol 'SometimesInlineFunction(int)' defined in multiple places (possible ODR violation):"
check debug_msg_so.err "debug_msg.cc:6[89]"
-check debug_msg_so.err "odr_violation2.cc:2[7-9]"
+check debug_msg_so.err "odr_violation2.cc:3[0-7]"
# These messages shouldn't need any debug info to detect:
check debug_msg_ndebug.err "debug_msg_ndebug.so: error: undefined reference to 'undef_fn1()'"
extern "C" int OverriddenCFunction(int i) {
return i * i;
}
+
+// Extra lines to put SometimeInlineFunction at line 30+.
+
+// And a dummy function to workaround a GCC 7 bug with debug line numbers.
+int DummyFunction(int i) {
+ return i ^ 0x5555;
+}
+
// This is inline in debug_msg.cc, which makes it a weak symbol too.
int SometimesInlineFunction(int i) {
return i * i;