This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gold patch committed: Fix test


I committed this patch from Jeffrey Yaskin to fix a gold test failure.

Ian


2011-03-11  Jeffrey Yasskin  <jyasskin@google.com>

	PR gold/12572
	* testsuite/odr_violation2.cc: Add comment to make all error line
	numbers double digits.
	* testsuite/debug_msg.sh: Adjust expected errors.


Index: testsuite/debug_msg.sh
===================================================================
RCS file: /cvs/src/src/gold/testsuite/debug_msg.sh,v
retrieving revision 1.11
diff -u -r1.11 debug_msg.sh
--- testsuite/debug_msg.sh	10 Mar 2011 01:31:33 -0000	1.11
+++ testsuite/debug_msg.sh	11 Mar 2011 19:15:37 -0000
@@ -74,7 +74,7 @@
 # Check we detected the ODR (One Definition Rule) violation.
 check debug_msg.err ": symbol 'Ordering::operator()(int, int)' defined in multiple places (possible ODR violation):"
 check debug_msg.err "odr_violation1.cc:6"
-check debug_msg.err "odr_violation2.cc:9"
+check debug_msg.err "odr_violation2.cc:12"
 
 # Check we don't have ODR false positives:
 check_missing debug_msg.err "OdrDerived::~OdrDerived()"
@@ -85,10 +85,10 @@
 # unintentional.
 check_missing debug_msg.err ": symbol 'OverriddenCFunction' defined in multiple places (possible ODR violation):"
 check_missing debug_msg.err "odr_violation1.cc:16"
-check_missing debug_msg.err "odr_violation2.cc:20"
+check_missing debug_msg.err "odr_violation2.cc:23"
 check debug_msg.err ": symbol 'SometimesInlineFunction(int)' defined in multiple places (possible ODR violation):"
 check debug_msg.err "debug_msg.cc:68"
-check debug_msg.err "odr_violation2.cc:24"
+check debug_msg.err "odr_violation2.cc:27"
 
 # When linking together .so's, we don't catch the line numbers, but we
 # still find all the undefined variables, and the ODR violation.
@@ -97,15 +97,15 @@
 check debug_msg_so.err "debug_msg.so: error: undefined reference to 'undef_int'"
 check debug_msg_so.err ": symbol 'Ordering::operator()(int, int)' defined in multiple places (possible ODR violation):"
 check debug_msg_so.err "odr_violation1.cc:6"
-check debug_msg_so.err "odr_violation2.cc:9"
+check debug_msg_so.err "odr_violation2.cc:12"
 check_missing debug_msg.err "OdrDerived::~OdrDerived()"
 check_missing debug_msg.err "__adjust_heap"
 check_missing debug_msg.err ": symbol 'OverriddenCFunction' defined in multiple places (possible ODR violation):"
 check_missing debug_msg.err "odr_violation1.cc:16"
-check_missing debug_msg.err "odr_violation2.cc:20"
+check_missing debug_msg.err "odr_violation2.cc:23"
 check debug_msg.err ": symbol 'SometimesInlineFunction(int)' defined in multiple places (possible ODR violation):"
 check debug_msg.err "debug_msg.cc:68"
-check debug_msg.err "odr_violation2.cc:24"
+check debug_msg.err "odr_violation2.cc:27"
 
 # 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()'"
Index: testsuite/odr_violation2.cc
===================================================================
RCS file: /cvs/src/src/gold/testsuite/odr_violation2.cc,v
retrieving revision 1.3
diff -u -r1.3 odr_violation2.cc
--- testsuite/odr_violation2.cc	10 Mar 2011 01:31:33 -0000	1.3
+++ testsuite/odr_violation2.cc	11 Mar 2011 19:15:37 -0000
@@ -6,11 +6,14 @@
   bool operator()(int a, int b) __attribute__((never_inline));
 };
 
+// This comment makes the line numbers in Ordering::operator() all have
+// two digits, which causes gold's output to be independent of which
+// instruction the compiler optimizes into the front of the function.
 bool Ordering::operator()(int a, int b) {
   // Optimization makes this operator() a different size than the one
   // in odr_violation1.cc.
-    return a + 1 > b + 1;
-  }
+  return a + 1 > b + 1;
+}
 
 void SortDescending(int array[], int size) {
   std::sort(array, array + size, Ordering());

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]