aboutsummaryrefslogtreecommitdiff
path: root/gcc/langhooks.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2005-02-20 17:01:32 +0000
committerZack Weinberg <zack@gcc.gnu.org>2005-02-20 17:01:32 +0000
commitc5ff069dc46eb81aa4c0732ea5e6f76a535474b2 (patch)
tree60cdafb935d90504cac1d3437ff96f90d70b9c09 /gcc/langhooks.c
parent5920b5d2e8ead646a8cbb66847a4586b4db16ad6 (diff)
downloadgcc-c5ff069dc46eb81aa4c0732ea5e6f76a535474b2.zip
gcc-c5ff069dc46eb81aa4c0732ea5e6f76a535474b2.tar.gz
gcc-c5ff069dc46eb81aa4c0732ea5e6f76a535474b2.tar.bz2
re PR middle-end/18785 (isdigit builtin function fails with EBCDIC character sets)
PR 18785 libcpp: * charset.c (LAST_POSSIBLY_BASIC_SOURCE_CHAR): New helper macro. (cpp_host_to_exec_charset): New function. * include/cpplib.h: Declare cpp_host_to_exec_charset. gcc: * langhooks.h (struct lang_hooks): Add to_target_charset. * langhooks.c (lhd_to_target_charset): New function. * langhooks-def.h: Declare lhd_to_target_charset. (LANG_HOOKS_TO_TARGET_CHARSET): New macro. (LANG_HOOKS_INITIALIZER): Update. * c-common.c (c_common_to_target_charset): New function. * c-common.h: Declare it. * c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to c_common_to_target_charset. * defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0) (TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT): Delete definitions. * system.h: Poison them. * doc/tm.texi: Don't discuss them. * builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset. * c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char. (pp_c_char): Do not attempt to generate letter escapes for newline, tab, etc. * config/arm/arm.c (output_ascii_pseudo_op): Likewise. * config/mips/mips.c (mips_output_ascii): Likewise. gcc/cp: * cp-objcp-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to c_common_to_target_charset. Delete bogus comment. gcc/testsuite: * gcc.dg/charset/builtin1.c: New test. From-SVN: r95304
Diffstat (limited to 'gcc/langhooks.c')
-rw-r--r--gcc/langhooks.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/langhooks.c b/gcc/langhooks.c
index 0cf31be..c29168c 100644
--- a/gcc/langhooks.c
+++ b/gcc/langhooks.c
@@ -546,3 +546,9 @@ lhd_make_node (enum tree_code code)
{
return make_node (code);
}
+
+HOST_WIDE_INT
+lhd_to_target_charset (HOST_WIDE_INT c)
+{
+ return c;
+}