aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/eh/anon1.C
blob: 2a5ef4bc5e37d43fcf2ff09d3b7531a81ae1e1a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Test that the anonymous namespace isn't mangled with random characters,
// but also doesn't get mixed up with an anonymous namespace in another
// translation unit.

// { dg-do run }
// { dg-additional-sources "anon1a.cc" }

namespace {
  struct A
  {
    virtual void f();
  };

  void A::f() { }
}

extern void g();

int main()
{
  try {
    try {
      g();
    } catch (A) { __builtin_abort(); }
  } catch (...) { }
}