diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.robertl/eb79.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.robertl/eb79.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C new file mode 100644 index 000000000..1c1ad3e30 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C @@ -0,0 +1,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; +} |