From: No Author Date: Thu, 6 Jan 2005 19:12:04 +0000 (+0000) Subject: This commit was manufactured by cvs2svn to create branch X-Git-Tag: releases/gcc-3.4.4~336 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b147d5bbe71800227ccdb82759715cf066c2767f;p=thirdparty%2Fgcc.git This commit was manufactured by cvs2svn to create branch 'gcc-3_4-branch'. From-SVN: r93002 --- diff --git a/gcc/testsuite/g++.dg/lookup/friend6.C b/gcc/testsuite/g++.dg/lookup/friend6.C new file mode 100644 index 000000000000..e3dafb1d6b55 --- /dev/null +++ b/gcc/testsuite/g++.dg/lookup/friend6.C @@ -0,0 +1,15 @@ +// { dg-do compile } + +// Origin: Matt Austern + +// PR c++/19258: Wrong lookup scope for friend defined in class. + +class X { + template friend int ff(T*, int y=anX.x) { return y; } + int f() { return ff(&anX); } + + static X anX; + int x; +}; + +X dummy; diff --git a/gcc/testsuite/gcc.c-torture/execute/20030916-1.c b/gcc/testsuite/gcc.c-torture/execute/20030916-1.c new file mode 100644 index 000000000000..8b460c6dd683 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20030916-1.c @@ -0,0 +1,35 @@ +/* "i" overflows in f(). Check that x[i] is not treated as a giv. */ +#include + +#if CHAR_BIT == 8 + +void f (unsigned int *x) +{ + unsigned char i; + int j; + + i = 0x10; + for (j = 0; j < 0x10; j++) + { + i += 0xe8; + x[i] = 0; + i -= 0xe7; + } +} + +int main () +{ + unsigned int x[256]; + int i; + + for (i = 0; i < 256; i++) + x[i] = 1; + f (x); + for (i = 0; i < 256; i++) + if (x[i] != (i >= 0x08 && i < 0xf8)) + abort (); + exit (0); +} +#else +int main () { exit (0); } +#endif