This is the mail archive of the
mailing list for the GCC project.
Re: isalnum not declared CODE
- From: Claudio Bley <bley at CS dot uni-magdeburg dot de>
- To: gcc-help at gcc dot gnu dot org
- Date: Wed, 16 Jun 2004 14:39:34 +0200
- Subject: Re: isalnum not declared CODE
- References: <002f01c4537e$d2bbe350$cef86580@nnxpubwytgvj3u>
On Wed, Jun 16, 2004 at 03:49:18AM -0500, Nikolai Nezlobin wrote:
> Dear All,
> This is the short version of the code that produces the isalnum error. The
> files (agstring.h, CType.h, main.cc, makefile, makefile.common) and two
> error messages (for the short code and for the whole project) are below.
> All files, except for makefile.common, were in /mnt/hdb1/Sour/CType. The
> line top=/mnt/hdb1/Sour in makefile reflects this. You will need to change
> the top= if you try to compile the code.
> makefile.common was kept one level upper (in /mnt/hdb1/Sour)
The code you've posted works for me (albeit it would've been probably easier/better
if you just had attached a tarball so that one wouldn't need to fiddle with
the (badly formatted) "code text").
It did compile with GCC 3.2.3 and GCC 3.4 (both directly downloaded from a GNU mirror;
i.e. no additional patches) and Redhat's GCC 2.96 on RH7.3 (installed from a RPM).
Either your distribution (it seems you're running a Slackware system and I don't have
any experience/knowledge about Slackware) has added a few patches and thereby
unfortunately some bugs creeped in OR (what I suspect) something else gets in the
way before the right header is included (you don't have by chance a file named "ctype.h"
lying around somewhere in your source dir?). OR it's something completely different...
You can just run your code trough the C pre processor:
g++ -E main.cc > main.ii
Then, have a look at the main.ii file.
Does it contain references to /usr/include/ctype.h? E.g:
# 1 "/usr/include/ctype.h" 1 3
If it does, is there some code which reads
extern int isalnum (int) throw ();
It should be there. Usually. ;-)
Maybe you can try upgrading your compiler? I mean, GCC 3.2.3 is already a bit