Supported Tizen version parsing and verification
[external/binutils.git] / gold / testsuite / debug_msg.cc
index ab73a8d..88ebb02 100644 (file)
@@ -1,6 +1,6 @@
 // debug_msg.cc -- a test case for printing debug info for missing symbols.
 
-// Copyright 2006, 2007 Free Software Foundation, Inc.
+// Copyright (C) 2006-2019 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of gold.
@@ -55,6 +55,21 @@ class Derived : public Base
   virtual void virtfn() { undef_fn2(); }
 };
 
+// This tests One Definition Rule (ODR) violations.
+void SortAscending(int array[], int size);   // in odr_violation1.cc
+void SortDescending(int array[], int size);  // in odr_violation2.cc
+// This tests One Definition Rule (ODR) non-violations.
+#include "odr_header2.h"
+OdrBase* CreateOdrDerived1();  // in odr_violation1.cc
+OdrBase* CreateOdrDerived2();  // in odr_violation2.cc
+
+extern "C" int OverriddenCFunction(int i);  // in odr_violation*.cc
+
+inline int SometimesInlineFunction(int i) {  // strong in odr_violation2.cc.
+  return i * i * 3;
+}
+
+
 int main()
 {
   testfn(5);
@@ -63,5 +78,19 @@ int main()
   Base b;
   Derived d;
 
+  int kInput1[] = {1, 6, 9, 7, 3, 4, 2, 10, 5, 8};
+  int kSize1 = sizeof(kInput1) / sizeof(int);
+  SortAscending(kInput1, kSize1);
+
+  int kInput2[] = {1, 6, 9, 7, 3, 4, 2, 10, 5, 8};
+  int kSize2 = sizeof(kInput2) / sizeof(int);
+  SortDescending(kInput2, kSize2);
+
+  OverriddenCFunction(3);
+  SometimesInlineFunction(3);
+
+  delete CreateOdrDerived1();
+  delete CreateOdrDerived2();
+
   return 0;
 }