setlocale calls in binutils
Bruno Haible
haible@ilog.fr
Fri Jun 2 06:47:00 GMT 2000
More information about the Binutils mailing list
Fri Jun 2 06:47:00 GMT 2000
- Previous message (by thread): Fix name clash for ! __STDC__
- Next message (by thread): [patch] More on HP weak symbols
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi, The gettext() functions in glibc 2.2 will - in order to function correctly - require that the locale facets LC_MESSAGES and LC_CTYPE be set according to the environment variables. Up to now only LC_MESSAGES was required. LC_CTYPE is now needed for converting the message to the proper character set, possibly doing transliteration along the way. The binutils programs mostly use the following piece of code: #if defined (HAVE_SETLOCALE) && defined (HAVE_LC_MESSAGES) setlocale (LC_MESSAGES, ""); #endif bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); It has to be changed to #if defined (HAVE_SETLOCALE) && defined (HAVE_LC_MESSAGES) setlocale (LC_MESSAGES, ""); #endif #if defined (HAVE_SETLOCALE) setlocale (LC_CTYPE, ""); #endif bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); But then there are many calls to LC_CTYPE sensitive functions, like isdigit or isalpha, in the sources. Most of them assume a standard C locale. Since C does not permit to use multiple locales in the same program, and since switching locales at runtime is bug-prone and inefficient, these calls must be replaced with calls to functions c_isdigit, c_isgraph, etc. which provide the behaviour of the C locale even if the actual user's locale is different (chinese, multibyte or whatever). The patch at ftp://ftp.ilog.fr/pub/Users/haible/gnu/binutils-diffs - too big for sending to this mailing list - does the following: 1) It adds the setlocale (LC_CTYPE, ""); call to the main function of all utilities. 2) It provides a layer "c-ctype.h" and "c-ctype.c" which implements the ctype.h functions for a C locale. I put "c-ctype.c" into libiberty because all of the utilities (as, ld, objdump etc.) need it. 3) It changes all 'isdigit' etc. calls to 'c_isdigit' and so forth. 4) It takes opportunity of optimizing expressions like (c_islower (c) ? c_toupper (c) : c) to c_toupper (c). An optimization which wasn't allowed on old systems a few years ago, but is valid for the c-ctype.c implementation. Currently, without glibc-2.2 and without any non-ASCII message translations, the patch should not change the behaviour of any of the utilities at all. Full ChangeLog below. Hope you can digest this biggie :-) Bruno bfd/ChangeLog: 2000-06-01 Bruno Haible <haible@clisp.cons.org> * aoutx.h: Include "c-ctype.h" instead of <ctype.h>. (aout_link_write_symbols): Use c_isdigit instead of isdigit. * archive.c: Include "c-ctype.h" instead of <ctype.h>. (_bfd_generic_read_ar_hdr_mag): Use c_isdigit instead of isdigit. * archures.c: Include "c-ctype.h" instead of <ctype.h>. (bfd_default_scan): Use c_isdigit instead of isdigit. * bfd.c: Include "c-ctype.h" instead of <ctype.h>. (bfd_scan_vma): Use c_isxdigit/c_isdigit/c_islower instead of isxdigit/isdigit/islower. * binary.c: Include "c-ctype.h" instead of <ctype.h>. (mangle_name): Use c_isalnum instead of isalnum. * cpu-i960.c: Include "c-ctype.h". (scan_960_mach): Use c_tolower instead of tolower. * cpu-v850.c: Include "c-ctype.h" instead of <ctype.h>. (scan): Use c_isdigit instead of isdigit. * hosts/alphavms.h: Don't include <ctype.h>. * ieee.c: Include "c-ctype.h" instead of <ctype.h>. (ieee_object_p): Use c_toupper instead of toupper. * ihex.c: Include "c-ctype.h" instead of <ctype.h>. (ihex_bad_byte): Use c_isprint instead of isprint. * oasys.c: Include "c-ctype.h" instead of <ctype.h>. (oasys_write_sections): Use c_isdigit instead of isdigit. * ppcboot.c: Include "c-ctype.h" instead of <ctype.h>. (mangle_name): Use c_isalnum instead of isalnum. * som.c: Include "c-ctype.h" instead of <ctype.h>. (som_set_reloc_info): Use c_isupper/c_islower/c_isdigit instead of isupper/islower/isdigit. (som_decode_symclass): Use c_toupper instead of toupper. * srec.c: Include "c-ctype.h" instead of <ctype.h>. (srec_bad_byte): Use c_isprint instead of isprint. (srec_scan): Use c_isspace instead of isspace. * stabs.c: Include "c-ctype.h" instead of <ctype.h>. (_bfd_link_section_stabs): Use c_isdigit instead of isdigit. * syms.c: Include "c-ctype.h" (islower, toupper): Remove macro definitions. (bfd_decode_symclass): Use c_toupper instead of toupper. * vms-gsd.c: Don't include <ctype.h>. * vms-hdr.c: Include "c-ctype.h" instead of <ctype.h>. (_bfd_vms_write_hdr): Use c_islower/c_toupper instead of islower/toupper. * vms-tir.c: Don't include <ctype.h>. binutils/ChangeLog: 2000-06-01 Bruno Haible <haible@clisp.cons.org> * addr2line.c: Don't include <ctype.h>. (main): For gettext, also set the LC_CTYPE locate facet. * ar.c (main): Likewise. * coffdump.c (main): Likewise. * dlltool.c: Include "c-ctype.h" instead of <ctype.h>. (main): For gettext, also set the LC_CTYPE locate facet. Use c_isalnum instead of isalpha/isdigit. * dllwrap.c: Don't include <ctype.h>. (main): For gettext, also set the LC_CTYPE locate facet. * nlmconv.c: Include "c-ctype.h" instead of <ctype.h>. (main): For gettext, also set the LC_CTYPE locate facet. Use c_toupper instead of islower/toupper. * nlmheader.y: Include "c-ctype.h" instead of <ctype.h>. (yylex): Use c_isspace/c_isalnum instead of isspace/isalnum. Use c_toupper instead of islower/toupper. * nm.c (main): For gettext, also set the LC_CTYPE locate facet. * objcopy.c (main): Likewise. * objdump.c: Include "c-ctype.h" instead of <ctype.h>. (disassemble_bytes): Use c_isprint instead of isprint. (dump_section_stabs): Use c_isdigit instead of isdigit. (dump_data): Use c_isprint instead of isprint. (main): For gettext, also set the LC_CTYPE locate facet. * rclex.l: Include "c-ctype.h" instead of <ctype.h>. (cpp_line, handle_quotes): Use c_isspace instead of isspace. * rcparse.y: Include "c-ctype.h" instead of <ctype.h>. Use c_islower/c_toupper instead of islower/toupper. * readelf.c (main): For gettext, also set the LC_CTYPE locate facet. * resrc.c: Include "c-ctype.h" instead of <ctype.h>. (write_rc_accelerators): Use c_isprint instead of isprint. (write_rc_rcdata): Likewise. * size.c (main): For gettext, also set the LC_CTYPE locate facet. * srconv.c (main): Likewise. * stabs.c: Include "c-ctype.h" instead of <ctype.h>. (parse_number): Use c_isdigit/c_isupper/c_islower instead of isdigit/isupper/islower. (parse_stab_string, parse_stab_type, parse_stab_argtypes, parse_stab_array_type, stab_demangle_count, stab_demangle_get_count, stab_demangle_prefix, stab_demangle_qualified, stab_demangle_template, stab_demangle_type, stab_demangle_fund_type): Use c_isdigit instead of isdigit. * strings.c: Include "c-ctype.h" instead of <ctype.h>. (isgraphic): Use c_isprint instead of isascii/isprint. (main): For gettext, also set the LC_CTYPE locate facet. * sysdump.c: Include "c-ctype.h" instead of <ctype.h>. (pbarray): Use c_isprint instead of isprint. (main): For gettext, also set the LC_CTYPE locate facet. * windres.c: Include "c-ctype.h" instead of <ctype.h>. (format_from_filename): Use c_isprint instead of isprint. (main): For gettext, also set the LC_CTYPE locate facet. * winduni.c: Include "c-ctype.h" instead of <ctype.h>. (unicode_print): Use c_isprint instead of isprint. * wrstabs.c: Include "c-ctype.h" instead of <ctype.h>. (stab_variable): Use c_isdigit instead of isdigit. gas/ChangeLog: 2000-06-01 Bruno Haible <haible@clisp.cons.org> * as.h: Don't include <ctype.h>. * as.c (main): For gettext, also set the LC_CTYPE locate facet. * atof-generic.c: Include "c-ctype.h" instead of <ctype.h>. (atof_generic): Use c_isdigit instead of isdigit. * config/m68k-parse.y: Include "c-ctype.h". (yylex): Use c_isdigit/c_isalnum instead of isdigit/isalnum. * config/obj-elf.c: Include "c-ctype.h". (obj_elf_vtable_inherit): Use c_isspace instead of isspace. * config/obj-vms.c: Include "c-ctype.h". (Write_VMS_MHD_Records): Use c_toupper instead of islower/toupper. (VMS_Case_Hack_Symbol): Use c_isupper/c_islower/c_toupper/c_tolower instead of isupper/islower/toupper/tolower. * config/tc-a29k.c: Include "c-ctype.h" instead of <ctype.h>. (insert_sreg): Use c_toupper instead of islower/toupper. (machine_ip): Use c_isalpha/c_isalnum/c_isupper/c_tolower instead of isalpha/isalnum/isupper/tolower. (a29k_unrecognized_line, md_operand): Use c_isdigit instead of isdigit. * config/tc-alpha.c: Include "c-ctype.h" instead of <ctype.h>. (md_undefined_symbol, s_alpha_ent): Use c_isdigit instead of isdigit. * config/tc-arc.c: Include "c-ctype.h" instead of <ctype.h>. (md_assemble): Use c_isspace/c_isalpha/c_isalnum instead of isspace/isalpha/isalnum. * config/tc-arm.c: Include "c-ctype.h" instead of <ctype.h>. (arm_psr_parse, decode_shift): Use c_isalpha instead of isalpha. (insert_reg): Use c_toupper instead of islower/toupper. (arm_reg_parse): Use c_isalpha instead of isalpha. (arm_parse_reloc): Use c_isalnum/c_ispunct/c_tolower instead of isalnum/ispunct/tolower. * config/tc-avr.c: Include "c-ctype.h" instead of <ctype.h>. (md_parse_option): Use c_tolower instead of tolower. (avr_operand): Use c_isdigit/c_tolower instead of isdigit/tolower. * config/tc-d10v.c: Include "c-ctype.h" instead of <ctype.h>. (do_assemble): Use c_tolower instead of tolower. * config/tc-d30v.c: Include "c-ctype.h" instead of <ctype.h>. (do_assemble): Use c_tolower instead of tolower. (d30v_start_line): Use c_isspace instead of isspace. * config/tc-fr30.c: Include "c-ctype.h" instead of <ctype.h>. (fr30_is_colon_insn): Use c_tolower instead of tolower. * config/tc-h8300.c: Include "c-ctype.h" instead of <ctype.h>. (skip_colonthing, get_operand): Use c_isdigit instead of isdigit. * config/tc-h8500.c: Include "c-ctype.h" instead of <ctype.h>. (start_label): Use c_isalpha instead of isalpha. * config/tc-hppa.c: Include "c-ctype.h" instead of <ctype.h>. (pa_ip): Use c_isupper/c_islower/c_tolower instead of isupper/islower/tolower. (pa_parse_number): Use c_isdigit instead of isdigit. (pa_chk_field_selector): Use c_tolower instead of tolower. (pa_stringer): Use c_isdigit instead of isdigit. * config/tc-i370.c: Include "c-ctype.h" instead of <ctype.h>. (register_name): Use c_isalpha instead of isalpha. (i370_elf_suffix): Use c_isalnum/c_tolower instead of isalnum/islower/tolower. (i370_addr_offset): Use c_isdigit/c_isalpha instead of isdigit/isalpha. (i370_addr_cons): Use c_isalpha/c_isxdigit instead of isalpha/isxdigit. (md_assemble): Use c_isspace instead of isspace. * config/tc-i386.c: Include "c-ctype.h" instead of <ctype.h>. (md_begin): Use c_isdigit/c_islower/c_isupper/c_tolower/c_isalpha instead of isdigit/islower/isupper/tolower/isalpha. (i386_scale, i386_operand): Use c_isdigit instead of isdigit. (output_invalid): Use c_isprint instead of isprint. * config/tc-i860.c: Include "c-ctype.h". (i860_ip): Use c_islower/c_isdigit instead of islower/isdigit. * config/tc-i960.c: Include "c-ctype.h" instead of <ctype.h>. (get_args): Use c_isalnum instead of isalnum. * config/tc-ia64.c: Include "c-ctype.h". (dot_pred_rel): Use c_toupper/c_isdigit instead of toupper/isdigit. (ia64_parse_name): Use c_isdigit instead of isdigit. * config/tc-m32r.c: Include "c-ctype.h" instead of <ctype.h>. (assemble_two_insns): Use c_isspace/c_isalnum/c_isupper/c_tolower instead of isspace/isalnum/isupper/tolower. * config/tc-m68k.c: Include "c-ctype.h" instead of <ctype.h>. (insert_reg): Use c_toupper instead of islower/toupper. (md_begin): Use c_tolower instead of isupper/tolower. (s_reg): Use c_isalnum instead of isalnum. (mri_assemble): Use c_isupper/c_tolower instead of isupper/tolower. (parse_mri_condition): Use c_tolower instead of isupper/tolower. * config/tc-m88k.c: Include "c-ctype.h" instead of <ctype.h>. (md_assemble): Use c_isspace instead of isspace. (get_imm16): Use c_isalnum instead of isalnum. (get_cnd): Use c_isdigit/c_isupper/c_tolower instead of isdigit/isupper/tolower. (get_bf_offset_expression): Use c_isalpha/c_isupper/c_tolower instead of isalpha/isupper/tolower. (hexval): Use c_isdigit/c_islower/c_isupper instead of isdigit/islower/isupper. * config/tc-mcore.c: Include "c-ctype.h" instead of <ctype.h>. (mcore_s_section): Use c_isspace instead of isspace. (parse_reg): Use c_isspace/c_tolower/c_isalnum instead of isspace/tolower/isalnum. (parse_creg): Use c_isspace/c_tolower instead of isspace/tolower. (parse_psrmod): Use c_isascii/c_tolower instead of isascii/tolower. (parse_exp, parse_mem, md_assemble): Use c_isspace instead of isspace. * config/tc-mips.c: Include "c-ctype.h" instead of <ctype.h>. (mips_ip): Use c_isspace/c_isdigit instead of isspace/isdigit. (mips16_ip): Use c_islower/c_isdigit instead of islower/isdigit. (my_getSmallExpression): Use c_isdigit instead of isdigit. (tc_get_register): Likewise. (get_number): Use c_isdigit/c_isxdigit instead of isdigit/isxdigit. (s_mips_ent): Use c_isdigit instead of isdigit. * config/tc-mn10200.c: Include "c-ctype.h" instead of <ctype.h>. (md_assemble): Use c_isspace instead of isspace. * config/tc-mn10300.c: Include "c-ctype.h" instead of <ctype.h>. (md_assemble): Use c_isspace instead of isspace. * config/tc-ns32k.c: Don't include <ctype.h>. * config/tc-pj.c: Include "c-ctype.h". (md_assemble): Use c_isspace instead of isspace. * config/tc-ppc.c: Include "c-ctype.h" instead of <ctype.h>. (register_name): Use c_isalpha instead of isalpha. (ppc_elf_suffix): Use c_isalnum/c_tolower instead of isalnum/islower/tolower. (md_assemble): Use c_isspace instead of isspace. (ppc_canonicalize_symbol_name): Use c_islower/c_toupper instead of islower/toupper. * config/tc-sh.c: Include "c-ctype.h" instead of <ctype.h>. (IDENT_CHAR): Use c_isalnum instead of isalnum. (find_cooked_opcode): Use c_tolower instead of isupper/tolower. * config/tc-sparc.c: Include "c-ctype.h" instead of <ctype.h>. (sparc_ip): Use c_islower/c_isdigit instead of islower/isdigit. (parse_keyword_arg): Use c_isalnum instead of isalnum. * config/tc-tahoe.c: Include "c-ctype.h". (tahoe_reg_parse): Use c_isdigit instead of isdigit. (tip_op): Use c_tolower instead of isupper/tolower. * config/tc-tic30.c: Include "c-ctype.h". (md_begin): Use c_islower/c_isdigit/c_isupper/c_tolower/c_islower/ c_isalpha instead of islower/isdigit/isupper/tolower/islower/isalpha. (tic30_operand): Use c_tolower instead of tolower. (tic30_find_parallel_insn): Likewise. (output_invalid): Use c_isprint instead of isprint. * config/tc-tic80.c: Include "c-ctype.h". (md_assemble): Use c_isspace instead of isspace. * config/tc-v850.c: Include "c-ctype.h" instead of <ctype.h>. (system_register_name): Use c_isdigit instead of isdigit. (md_assemble): Use c_isspace instead of isspace. * config/tc-vax.c: Include "c-ctype.h" instead of <ctype.h>. (vax_reg_parse): Use c_tolower/c_isdigit instead of isupper/tolower/isdigit. (vip_op): Use c_tolower instead of isupper/tolower. * config/tc-w65.c: Don't include <ctype.h>. * config/tc-z8k.c: Include "c-ctype.h" instead of <ctype.h>. (tohex): Use c_isdigit/c_islower instead of isdigit/islower. (whatreg): Use c_isdigit instead of isdigit. * ecoff.c: Include "c-ctype.h" instead of <ctype.h>. (ecoff_directive_ent, ecoff_stab): Use c_isdigit instead of isdigit. * expr.c: Include "c-ctype.h" instead of <ctype.h>. (integer_constant): Use c_isalnum/c_toupper instead of isalnum/islower/toupper. (operand): Use c_tolower instead of isupper/tolower. * gasp.c: Include "c-ctype.h" instead of <ctype.h>. (sb_strtol, level_0, change_base, doinstr): Use c_isdigit instead of isdigit. (process_assigns, whatcond): Use c_toupper instead of toupper. (chartype_init): Use c_isalpha/c_isdigit instead of isalpha/isdigit. (main): For gettext, also set the LC_CTYPE locate facet. * hash.c: Include "c-ctype.h". (main): Use c_tolower instead of isupper/tolower. * itbl-lex.l: Don't include <ctype.h>. * listing.c: Include "c-ctype.h" instead of <ctype.h>. (listing_newline): Use c_isascii/c_iscntrl instead of isascii/iscntrl. Don't omit non-ASCII characters. (debugging_pseudo): Use c_isspace instead of isspace. * macro.c: Include "c-ctype.h" instead of <ctype.h>. (buffer_and_nest): Use c_isalnum instead of isalnum. (get_token): Use c_isalpha/c_isalnum instead of isalpha/isalnum. (define_macro): Use c_isupper/c_tolower instead of isupper/tolower. (macro_expand_body): Use c_isalnum/c_isdigit/c_isupper/c_isalpha instead of isalnum/isdigit/isupper/isalpha. (check_macro): Use c_isalpha/c_isalnum/c_isupper/c_tolower instead of isalpha/isalnum/isupper/tolower. * read.c: Include "c-ctype.h" instead of <ctype.h>. (read_a_source_file): Use c_isupper/c_tolower/c_isdigit instead of isupper/tolower/isdigit. (s_mri_common): Use c_isdigit instead of isdigit. (s_mri_sect): Use c_isdigit/c_toupper instead of isdigit/toupper. (s_float_space): Use c_isalpha instead of isalpha. (ignore_rest_of_line): Use c_isprint instead of isprint. (float_cons): Use c_isalpha instead of isalpha. (next_char_of_string): Use c_isdigit/c_isxdigit instead of isdigit/isxdigit. * symbols.c: Include "c-ctype.h" instead of <ctype.h>. (save_symbol_name): Use c_islower/c_toupper instead of islower/toupper. (symbol_find_base): Use c_toupper instead of islower/toupper. (decode_local_label_name): Use c_isdigit instead of isdigit. gprof/ChangeLog: 2000-06-01 Bruno Haible <haible@clisp.cons.org> * gprof.c (main): For gettext, also set the LC_CTYPE locate facet. * sym_ids.c: Include "c-ctype.h" instead of <ctype.h>. (parse_spec): Use c_isdigit instead of isdigit. include/ChangeLog: 2000-06-01 Bruno Haible <haible@clisp.cons.org> * c-ctype.h: New file. ld/ChangeLog: 2000-06-01 Bruno Haible <haible@clisp.cons.org> * deffilep.y: Include "c-ctype.h" instead of <ctype.h>. (def_file_add_directive): Use c_isspace instead of isspace. (def_lex): Use c_isdigit/c_isxdigit/c_isalpha/c_isalnum instead of isdigit/isxdigit/isalpha/isalnum. * emultempl/aix.em: Include "c-ctype.h" instead of <ctype.h>. (gld${EMULATION_NAME}_read_file): Use c_isspace instead of isspace. * emultempl/armelf.em: Include "c-ctype.h" instead of <ctype.h>. (gld${EMULATION_NAME}_place_orphan): Use c_isalnum instead of isalnum. * emultempl/elf32.em: Include "c-ctype.h" instead of <ctype.h>. (gld${EMULATION_NAME}_place_orphan): Use c_isalnum instead of isalnum. * emultempl/gld960c.em: Include "c-ctype.h" instead of <ctype.h>. (gld960_set_output_arch): Use c_isupper/c_tolower instead of isupper/tolower. * emultempl/sunos.em: Include "c-ctype.h" instead of <ctype.h>. (gld${EMULATION_NAME}_search_dir): Use c_isdigit instead of isdigit. * ldctor.c: Include "c-ctype.h" instead of <ctype.h>. (ctor_prio): Use c_isdigit instead of isdigit. * ldfile.c: Include "c-ctype.h" instead of <ctype.h>. (ldfile_open_file_search): Use c_isalpha instead of isalpha. (ldfile_add_arch): Use c_isupper/c_tolower instead of isupper/tolower. * ldlang.c: Include "c-ctype.h" instead of <ctype.h>. (stricpy): Use c_tolower instead of isupper/tolower. (lang_leave_overlay_section): Use c_isalnum instead of isalnum. * ldlex.l: Include "c-ctype.h" instead of <ctype.h>. (lex_warn_invalid): Use c_isprint instead of isprint. * ldmain.c: Include "c-ctype.h" instead of <ctype.h>. (main): For gettext, also set the LC_CTYPE locate facet. (add_keepsyms_file): Use c_isspace instead of isspace. * lexsup.c: Include "c-ctype.h" instead of <ctype.h>. (is_num, parse_args): Use c_isdigit instead of isdigit. * mpw-elfmips.c: Include "c-ctype.h" instead of <ctype.h>. (gldelf32ebmip_place_orphan): Use c_isalnum instead of isalnum. * mpw-eppcmac.c: Include "c-ctype.h" instead of <ctype.h>. (gldppcmacos_read_file): Use c_isspace instead of isspace. * pe-dll.c: Include "c-ctype.h" instead of <ctype.h>. (quoteput): Use c_isspace instead of isspace. (pe_dll_generate_implib, pe_process_import_defs): Use c_isalnum instead of isalnum. libiberty/ChangeLog: 2000-06-01 Bruno Haible <haible@clisp.cons.org> * c-ctype.c: New file. * Makefile.in (CFILES): Add c-ctype.c. (REQUIRED_OFILES): Add c-ctype.o. * basename.c: Include "c-ctype.h" instead of <ctype.h>. (basename): Use c_isalpha instead of isalpha. * cplus-dem.c: Include "c-ctype.h" instead of <ctype.h>. (consume_count, consume_count_with_underscores, demangle_signature, demangle_real_value, demangle_prefix, gnu_special, get_count, do_type, demangle_fund_type, do_hpacc_template_const_value, snarf_numeric_literal): Use c_isdigit instead of isdigit. (main): Use c_isalnum instead of isalnum. * pexecute.c: Include "c-ctype.h". (ISSPACE): Remove macro. (pexecute): Use c_isspace instead of isspace. * strtod.c: Include "c-ctype.h" instead of <ctype.h>. (strtod): Use c_isspace/c_isdigit instead of isspace/isdigit. * strtol.c: Include "c-ctype.h" instead of <ctype.h>. (strtol): Use c_isspace/c_isdigit/c_isalpha/c_isupper instead of isspace/isdigit/isalpha/isupper. * strtoul.c: Include "c-ctype.h" instead of <ctype.h>. (strtoul): Use c_isspace/c_isdigit/c_isalpha/c_isupper instead of isspace/isdigit/isalpha/isupper. opcodes/ChangeLog: 2000-06-01 Bruno Haible <haible@clisp.cons.org> * cgen-asm.c: Include "c-ctype.h" instead of <ctype.h>. (cgen_parse_keyword): Use c_isalnum instead of isalnum. * cgen-opc.c: Include "c-ctype.h" instead of <ctype.h>. (cgen_keyword_lookup_name): Use c_isalpha/c_tolower instead of isalpha/tolower. (hash_keyword_name): Use c_tolower instead of tolower. * fr30-asm.c: Include "c-ctype.h" instead of <ctype.h>. (parse_insn_normal): Use c_tolower/c_isspace instead of tolower/isspace. (fr30_cgen_assemble_insn): Use c_isspace instead of isspace. * fr30-desc.c: Don't include <ctype.h>. * fr30-ibld.c: Likewise. * ia64-gen.c: Include "c-ctype.h" instead of <ctype.h>. (load_insn_classes, parse_resource_users, load_depfile): Use c_isspace instead of isspace. * m32r-asm.c: Include "c-ctype.h" instead of <ctype.h>. (parse_insn_normal): Use c_tolower/c_isspace instead of tolower/isspace. (m32r_cgen_assemble_insn): Use c_isspace instead of isspace. * m32r-desc.c: Don't include <ctype.h>. * m32r-ibld.c: Likewise.
- Previous message (by thread): Fix name clash for ! __STDC__
- Next message (by thread): [patch] More on HP weak symbols
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list