// { dg-do assemble } // { dg-prune-output "note" } // Makes bogus x86 assembly code. #include // 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 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; }