26_numerics/c99_classification_macros_c.cc is broken

Andreas Jaeger aj@suse.de
Sun Jul 21 05:26:00 GMT 2002


Running the testsuite on CVS mainline with i686-linux-gnu I get this
error messages:

Executing on host: /builds/gcc/gcc-3.2-devel/gcc/g++ -shared-libgcc -B/builds/gcc/gcc-3.2-devel/gcc/ -nostdinc++ -L/builds/gcc/gcc-3.2-devel/i686-pc-linux-gnu/libstdc++-v3/src -L/builds/gcc/gcc-3.2-devel/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/opt/gcc/3.2-devel/i686-pc-linux-gnu/bin/ -B/opt/gcc/3.2-devel/i686-pc-linux-gnu/lib/ -isystem /opt/gcc/3.2-devel/i686-pc-linux-gnu/include -g -ffunction-sections -fdata-sections -fmessage-length=0 -DDEBUG_ASSERT -DLOCALEDIR="/builds/gcc/gcc-3.2-devel/i686-pc-linux-gnu/libstdc++-v3/po/share/locale" -nostdinc++ -I/builds/gcc/gcc-3.2-devel/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/builds/gcc/gcc-3.2-devel/i686-pc-linux-gnu/libstdc++-v3/include -I/cvs/gcc/libstdc++-v3/libsupc++ -I/cvs/gcc/libstdc++-v3/libio -I/cvs/gcc/libstdc++-v3/include/backward -I/cvs/gcc/libstdc++-v3/testsuite /cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc    -DDEBUG_ASSERT -S  -o c99_classification_macros_c.s    (timeou
 t = 300)
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:34: error: parse error before `sizeof'
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:36: error: parse error before `sizeof'
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:38: error: parse error before `sizeof'
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:40: error: parse error before `sizeof'
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:42: error: parse error before `sizeof'
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:44: error: parse error before `sizeof'
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:46:16: macro "isgreater" requires 2 arguments, but only 1 given
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:46: error: syntax error before `{' token
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:48:21: macro "isgreaterequal" requires 2 arguments, but only 1 given
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:48: error: syntax error before `{' token
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:50:13: macro "isless" requires 2 arguments, but only 1 given
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:50: error: syntax error before `{' token
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:52:18: macro "islessequal" requires 2 arguments, but only 1 given
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:52: error: syntax error before `{' token
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:54:20: macro "islessgreater" requires 2 arguments, but only 1 given
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:54: error: syntax error before `{' token
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:56:18: macro "isunordered" requires 2 arguments, but only 1 given
/cvs/gcc/libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc:56: error: syntax error before `{' token
compiler exited with status 1

The problem is that c99_classification_macros_c.cc has for example in
line 34 (first error):
void fpclassify() { }

But glibc implements fpclassify as a macro, following ISO C99
("7.12.3.1  The fpclassify macro" (note the title)).

So, what should this testcase do?  Should it test that the
functions/macros exist?  In that case the file should not declare the
functions itself but just call them.

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj



More information about the Libstdc++ mailing list