summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C
blob: 1c1ad3e306779b6be639c2512973e595dbc0a3cb (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
// { dg-do assemble  }
// { dg-prune-output "note" }
// Makes bogus x86 assembly code.
#include <iostream>

// The VxWorks kernel-mode headers define a macro named "max", which is not
// ISO-compliant, but is part of the VxWorks API.
#if defined __vxworks && !defined __RTP__
#undef max
#endif

using namespace std;

template<class T>
T max(T a, T b)
{
  return (a > b) ? a : b;
}

// Prototypes (enable one or the other)
double max<>(double, double);      // { dg-error "" } bogus code
// int max(int, int);

int main()
{
  int i = 123;
  double d = 1234.5678;

  cout.precision(12);
  cout << max(d, i) << endl;  // { dg-error "" } 
  cout << max(i, d) << endl;  // { dg-error "" } 
  return 0;
}