summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.ext/anon3.C
blob: 44c03c7fad0d27ef4c7f149dd38b0d3df904d9fe (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
27
28
29
30
31
32
33
34
35
36
// { dg-do assemble  }

// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 6 Jun 2001 <nathan@codesourcery.com>

// Bug 2914. New types can be created in a static member
// initializer. These should not be injected into the member's class's
// scope.

class DoubleSupport
{
  public:
  static void toDouble();
  
  static const double s_NaN;
  static const double s_positiveInfinity;
  static const double s_negativeInfinity;
  static const double s_positiveZero;
  static const double s_negativeZero;
  static const unsigned long* s_NaNFirstDWORD;
  static const unsigned long* s_NaNSecondDWORD;
};

const double DoubleSupport::s_positiveInfinity =
(__extension__ ((union { unsigned char __c[8]; double __d; })
  { __c: { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f } }).__d);

struct other 
{
};


void
DoubleSupport::toDouble()
{
}