X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-func.c;h=8a3c465e73f6a39abe83a3a0e9d731889ab85080;hb=4e42b89b090f61e189e7161a3f096cabc832b6d3;hp=7b49026728ab4127bf0667f4deb24c93711ae138;hpb=b4feec417c7eae7c4a920986d8c81659ac5c9a79;p=gnulib.git diff --git a/tests/test-func.c b/tests/test-func.c index 7b4902672..8a3c465e7 100644 --- a/tests/test-func.c +++ b/tests/test-func.c @@ -1,5 +1,5 @@ /* Test whether __func__ is available - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,20 +22,28 @@ #include #include -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - abort (); \ - } \ - } \ + fflush (stderr); \ + abort (); \ + } \ + } \ while (0) int main () { + ASSERT (strlen (__func__) > 0); + + /* On SunPRO C 5.9, sizeof __func__ evaluates to 0. The compiler warns: + "warning: null dimension: sizeof()". */ +#if !defined __SUNPRO_C ASSERT (strlen (__func__) + 1 == sizeof __func__); +#endif + return 0; }