Home | History | Annotate | Download | only in testsuite
      1 // ver_matching_def.cc - test matching rules in version_script.map
      2 
      3 // Copyright (C) 2007-2016 Free Software Foundation, Inc.
      4 // Written by Cary Coutant <ccoutant (at) google.com>.
      5 
      6 // This file is part of gold.
      7 
      8 // This program is free software; you can redistribute it and/or modify
      9 // it under the terms of the GNU General Public License as published by
     10 // the Free Software Foundation; either version 3 of the License, or
     11 // (at your option) any later version.
     12 
     13 // This program is distributed in the hope that it will be useful,
     14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
     15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16 // GNU General Public License for more details.
     17 
     18 // You should have received a copy of the GNU General Public License
     19 // along with this program; if not, write to the Free Software
     20 // Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
     21 // MA 02110-1301, USA.
     22 
     23 extern "C" {
     24 void foo() {} // V1
     25 void foo1() {} // local
     26 };
     27 
     28 void bar() {} // V1
     29 void bar1() {} // global
     30 
     31 void baz(int*) {}          // V1
     32 void baz(int*, char) {}    // global
     33 void baz(char*, int) {}    // global
     34 
     35 extern "C" {
     36 void bar2() {}  // V1
     37 };
     38 
     39 namespace myns {
     40 void blah() {} // V1
     41 void bip() {} // V1
     42 
     43 class Stuff {
     44  public:
     45   Stuff() {} // V1
     46 };
     47 }
     48 
     49 class Biz {
     50  public:
     51   Biz() {} // global
     52 };
     53 
     54 namespace otherns {
     55 Biz biz; // global
     56 myns::Stuff stuff;  // V2
     57 };
     58 
     59 extern "C" {
     60 void blaza() {}  // V1
     61 void blaza1() {}  // V1
     62 
     63 void original_blaza2() {} // V2
     64 __asm__(".symver original_blaza2,blaza2@@V2");  // overrides script
     65 
     66 void bla() {} // global
     67 void blaz() {} // V2
     68 void blazb() {} // V2
     69 
     70 int globaoeufxstuff = 0;  // V1
     71 int globaoeufostuff = 0; // global
     72 float sizeof_headers = 50.0;  // V1
     73 };
     74