[PATCH 36/57][Arm][GAS] Add support for MVE instructions: wlstp, dlstp, letp and...
[deliverable/binutils-gdb.git] / ld / testsuite / ld-selective / 3.cc
index 852bc5d04549ca0c4866f3618c558d2a0fb16d94..c40bf3554edd0c86a434bdeef7503b91fd7ab141 100644 (file)
@@ -5,7 +5,7 @@ struct A
 };
 
 void A::foo() { }                      // keep
-void A::bar() { }                      // loose
+void A::bar() { }                      // lose
 
 struct B : public A
 {
@@ -14,7 +14,8 @@ struct B : public A
 
 void B::foo() { }                      // keep
 
-void _start() __asm__("_start");       // keep
+void _start() __asm__("_start"); // keep
+void start() __asm__("start"); // some toolchains use this name.
 
 A a;                                   // keep
 B b;
@@ -23,6 +24,18 @@ A *getme() { return &a; }            // keep
 void _start()
 {
   getme()->foo();
+#ifdef __GNUC__
+#if (__GNUC__ == 2 && __GNUC_MINOR__ < 96)
+// gcc-2.95.2 gets this test wrong, and loses B::foo().
+// Cheat.  After all, we aren't trying to test the compiler here.
+  b.foo();
+#endif
+#endif
+}
+
+void start ()
+{
+  _start ();
 }
 
 // In addition, keep A's virtual table.
This page took 0.024059 seconds and 4 git commands to generate.