From owner-freebsd-current Fri Apr 7 05:38:47 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id FAA05295 for current-outgoing; Fri, 7 Apr 1995 05:38:47 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id FAA05284 for ; Fri, 7 Apr 1995 05:37:58 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id WAA25471; Fri, 7 Apr 1995 22:35:35 +1000 Date: Fri, 7 Apr 1995 22:35:35 +1000 From: Bruce Evans Message-Id: <199504071235.WAA25471@godzilla.zeta.org.au> To: current@FreeBSD.org, pete@pelican.com Subject: Re: more ctype woes Sender: current-owner@FreeBSD.org Precedence: bulk >In reference to my problem with ctype - defining _USE_CTYPE_CLIBRARY_ >fixed the compile problems and gave rise to: >gcc -o geod geod.o geod_setup.o geod_forwd.o geod_invrs.o emess.o libproj.a -lm >geod.o: Undefined symbol `___isctype' referenced from text segment >gmake: *** [geod] Error 1 >i.e. the relevant entry (there is a reference in libc.so to isctype.so >but not ___isctype) isn't in the C library... I committed fixes for this a few minutes ago. ___isctype wasn't defined because libc/locale/nomacros.c didn't understand the convolutions in . It needed to define _USE_CTYPE_CLIBRARY_ to stop from declaring the inline versions and it shouldn't have tested either _USE_CTYPE_INLINE_ or _USE_CTYPE_MACROS_ to decide whether to generate code. I replaced _USE_CTYPE_CLIBRARY_ and _ANSI_LIBRARY by _EXTERNALIZE_CTYPE_INLINES_ and another layer of macros for toupper() and tolower(). Now all the ctype "functions" are implemented as macros (which usually expand to inline functions) so that both the library and applications can #undef them to work with the functions. Bruce