summaryrefslogtreecommitdiff
path: root/Examples/test-suite/imports_a.h
blob: f761ea38c1ea6a2cebb59c58453e216ee0a6c23f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef a_h
#define a_h
enum GlobalEnum { globalenum1=1, globalenum2 };

/* This function should be static as it will be emitted into the code for
 * every module.  All _static targets would fail here with a multiple 
 * definition if this is not static. */
static GlobalEnum global_test(GlobalEnum e) { return e; }

class A { 
 public: 
  A() {}
  virtual ~A() {}
  
  void hello() {}

  enum MemberEnum { memberenum1=10, memberenum2 };
  virtual MemberEnum member_virtual_test(MemberEnum e) { return e; }
  virtual GlobalEnum global_virtual_test(GlobalEnum e) { return global_test(e); }
};
#endif