* invoke.texi (-fno-builtin): Document that this is always on
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / builtins2.C
blob48e53f14343e9f3e020f466b9874b0aadd8dffc9
1 // Test whether this builtin minimally works in G++.
2 // Origin: Kaveh Ghazi Jan 16, 2001
3 // Copyright (C) 2001 Free Software Foundation.
4 //
5 // Special g++ Options: -O2
7 namespace std 
9   extern "C" void abort (void);
10   extern "C" char *strcpy (char *, const char *);
11   extern "C" int memcmp (const void *, const void *, __SIZE_TYPE__);
14 int main ()
16   using namespace std;
17   char f[16];
18   
19   if (strcpy (f, "hello world") != f
20       || memcmp (f, "hello world", sizeof ("hello world")))
21     abort ();
23   if (std::strcpy (f, "bye world") != f
24       || memcmp (f, "bye world", sizeof ("bye world")))
25     abort ();
27   if (::__builtin_strcpy (f, "hello world") != f
28       || memcmp (f, "hello world", sizeof ("hello world")))
29     abort ();
30   
31   return 0;
34 extern "C"
36   static char * ::strcpy (char *, const char *)
37   {
38     std::abort ();
39   }