* cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types. (struct cpp_options): Add narrow_charset, wide_charset, bytes_big_endian fields. Remove EBCDIC field. (cpp_init_iconv, cpp_interpret_string): New external interfaces. * cpphash.h: Include <iconv.h> if we have it, otherwise provide a dummy definition of iconv_t. (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields. (_cpp_valid_ucn): Update prototype. (_cpp_destroy_iconv): New prototype. * doc/cpp.texi: Document character set handling. * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=. * doc/extend.texi: Delete entire section on multiline strings. Rewrite section on __FUNCTION__ etc now that these are variables in C. * cppucnid.tab, cppucnid.pl: New files. * cppucnid.h: New generated file. * cppcharset.c: Include cppucnid.h. Lots of commentary added. (iconv_open, iconv, iconv_close): Provide dummy definitions if !HAVE_ICONV. (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv, _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn, emit_numeric_escape, convert_hex, convert_oct, convert_escape, cpp_interpret_string, narrow_str_to_charconst, wide_str_to_charconst): New. (ucn_valid_in_identifier): Use a binary search through the ucnranges table defined in cppucnid.h, not a long chain of if statements. (_cpp_valid_ucn): Add a limit pointer. Downgrade "universal character names are only valid in C++ and C99" to a warning. Issue the "meaning of \[uU] is different in traditional C" warning here. Take care not to let iconv see an invalid UCS value if we get a malformed UCN. Issue an error if we don't have iconv. (cpp_interpret_charconst): Moved here from cpplex.c. Use cpp_interpret_string to do the heavy lifting. * cppinit.c (cpp_create_reader): Initialize bytes_big_endian, narrow_charset, wide_charset fields of options structure. (cpp_destroy): Call _cpp_destroy_iconv. * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn. (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete. (cpp_interpret_charconst): Moved to cppcharset.c. * cpplib.c (dequote_string): Delete. (interpret_string_notranslate): New. (do_line, do_linemarker): Use interpret_string_notranslate. * Makefile.in (cppcharset.o): Depend on cppucnid.h. * c-common.c (fname_string, combine_strings): Delete. * c-common.h (fname_string, combine_strings): Delete prototypes. * c-lex.c (ignore_escape_flag): Delete. (cb_ident): Use cpp_interpret_string, not lex_string. (get_nonpadding_token): New function. (c_lex): Handle Objective-C @-prefixed identifiers and strings here. Adjust calls to lex_string. Don't write *value twice. (lex_string): Now handles string constant concatenation. Most of the work handed off to cpp_interpret_string. Call fix_string_type here. * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with FUNC_NAME, throughout. (OBJC_STRING): New token type. (primary:STRING): No need to call fix_string_type here. (primary:objc_string): Make that OBJC_STRING. (objc_string nonterminal): Delete. (yylexname): Delete code to handle fake string constants. (yylexstring): Delete entirely. (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING. No need to handle CPP_ATSIGN. * c.opt (-fexec-charset=, -fwide-exec-charset=): New options. * c-opts.c (missing_arg, c_common_handle_option): Handle OPT_fexec_charset_ and OPT_fwide_exec_charset_. (c_common_init): Set cpp_opts->bytes_big_endian, not cpp_opts->EBCDIC. Call cpp_init_iconv. (print_help): Document -fexec-charset= and -fexec-wide-charset=. (TARGET_EBCDIC): Delete default definition. * objc/objc-act.c (build_objc_string_object): No need to handle string constant concatenation. cp: * parser.c (cp_lexer_read_token): No need to handle string constant concatenation. testsuite: * gcc.c-torture/execute/wchar_t-1.x: New file; XFAIL wchar_t-1.c everywhere. * gcc.dg/concat.c: Concatenation of string constants with __FUNCTION__ / __PRETTY_FUNCTION__ is now a hard error. * gcc.dg/wtr-strcat-1.c: Loosen dg-warning regexp. * gcc.dg/cpp/escape-2.c: Use wide character constants where necessary to avoid multi-character character constant warning. * gcc.dg/cpp/escape.c: Likewise. * gcc.dg/cpp/ucs.c: Likewise. Remove backslashes from dg-bogus comments, as they confuse Tcl. Fix a typo. libstdc++-v3: * testsuite/22_locale/collate/compare/wchar_t/2.cc * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc * testsuite/22_locale/collate/hash/wchar_t/2.cc * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc * testsuite/22_locale/collate/transform/wchar_t/2.cc * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc: XFAIL on all targets. From-SVN: r68952
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
ada | Loading commit data... | |
config | Loading commit data... | |
cp | Loading commit data... | |
doc | Loading commit data... | |
f | Loading commit data... | |
fixinc | Loading commit data... | |
ginclude | Loading commit data... | |
java | Loading commit data... | |
objc | Loading commit data... | |
po | Loading commit data... | |
testsuite | Loading commit data... | |
treelang | Loading commit data... | |
.cvsignore | Loading commit data... | |
ABOUT-GCC-NLS | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
ChangeLog.0 | Loading commit data... | |
ChangeLog.1 | Loading commit data... | |
ChangeLog.2 | Loading commit data... | |
ChangeLog.3 | Loading commit data... | |
ChangeLog.4 | Loading commit data... | |
ChangeLog.5 | Loading commit data... | |
ChangeLog.6 | Loading commit data... | |
ChangeLog.7 | Loading commit data... | |
ChangeLog.8 | Loading commit data... | |
ChangeLog.lib | Loading commit data... | |
FSFChangeLog | Loading commit data... | |
FSFChangeLog.10 | Loading commit data... | |
FSFChangeLog.11 | Loading commit data... | |
LANGUAGES | Loading commit data... | |
Makefile.in | Loading commit data... | |
ONEWS | Loading commit data... | |
README-fixinc | Loading commit data... | |
README.Portability | Loading commit data... | |
SERVICE | Loading commit data... | |
acconfig.h | Loading commit data... | |
aclocal.m4 | Loading commit data... | |
alias.c | Loading commit data... | |
alloc-pool.c | Loading commit data... | |
alloc-pool.h | Loading commit data... | |
attribs.c | Loading commit data... | |
basic-block.h | Loading commit data... | |
bb-reorder.c | Loading commit data... | |
bitmap.c | Loading commit data... | |
bitmap.h | Loading commit data... | |
bt-load.c | Loading commit data... | |
builtin-attrs.def | Loading commit data... | |
builtin-types.def | Loading commit data... | |
builtins.c | Loading commit data... | |
builtins.def | Loading commit data... | |
c-aux-info.c | Loading commit data... | |
c-common.c | Loading commit data... | |
c-common.def | Loading commit data... | |
c-common.h | Loading commit data... | |
c-config-lang.in | Loading commit data... | |
c-convert.c | Loading commit data... | |
c-cppbuiltin.c | Loading commit data... | |
c-decl.c | Loading commit data... | |
c-dump.c | Loading commit data... | |
c-errors.c | Loading commit data... | |
c-format.c | Loading commit data... | |
c-incpath.c | Loading commit data... | |
c-incpath.h | Loading commit data... | |
c-lang.c | Loading commit data... | |
c-lex.c | Loading commit data... | |
c-objc-common.c | Loading commit data... | |
c-opts.c | Loading commit data... | |
c-parse.in | Loading commit data... | |
c-pch.c | Loading commit data... | |
c-ppoutput.c | Loading commit data... | |
c-pragma.c | Loading commit data... | |
c-pragma.h | Loading commit data... | |
c-pretty-print.c | Loading commit data... | |
c-pretty-print.h | Loading commit data... | |
c-semantics.c | Loading commit data... | |
c-tree.h | Loading commit data... | |
c-typeck.c | Loading commit data... | |
c.opt | Loading commit data... | |
caller-save.c | Loading commit data... | |
calls.c | Loading commit data... | |
cfg.c | Loading commit data... | |
cfganal.c | Loading commit data... | |
cfgbuild.c | Loading commit data... | |
cfgcleanup.c | Loading commit data... | |
cfghooks.c | Loading commit data... | |
cfghooks.h | Loading commit data... | |
cfglayout.c | Loading commit data... | |
cfglayout.h | Loading commit data... | |
cfgloop.c | Loading commit data... | |
cfgloop.h | Loading commit data... | |
cfgloopanal.c | Loading commit data... | |
cfgloopmanip.c | Loading commit data... | |
cfgrtl.c | Loading commit data... | |
cgraph.c | Loading commit data... | |
cgraph.h | Loading commit data... | |
cgraphunit.c | Loading commit data... | |
collect2.c | Loading commit data... | |
collect2.h | Loading commit data... | |
combine.c | Loading commit data... | |
common.opt | Loading commit data... | |
conditions.h | Loading commit data... | |
config.gcc | Loading commit data... | |
config.guess | Loading commit data... | |
config.in | Loading commit data... | |
configure | Loading commit data... | |
configure.frag | Loading commit data... | |
configure.in | Loading commit data... | |
conflict.c | Loading commit data... | |
convert.c | Loading commit data... | |
convert.h | Loading commit data... | |
coretypes.h | Loading commit data... | |
coverage.c | Loading commit data... | |
coverage.h | Loading commit data... | |
cppcharset.c | Loading commit data... | |
cppdefault.c | Loading commit data... | |
cppdefault.h | Loading commit data... | |
cpperror.c | Loading commit data... | |
cppexp.c | Loading commit data... | |
cppfiles.c | Loading commit data... | |
cpphash.c | Loading commit data... | |
cpphash.h | Loading commit data... | |
cppinit.c | Loading commit data... | |
cpplex.c | Loading commit data... | |
cpplib.c | Loading commit data... | |
cpplib.h | Loading commit data... | |
cppmacro.c | Loading commit data... | |
cpppch.c | Loading commit data... | |
cppspec.c | Loading commit data... | |
cpptrad.c | Loading commit data... | |
cppucnid.h | Loading commit data... | |
cppucnid.pl | Loading commit data... | |
cppucnid.tab | Loading commit data... | |
crtstuff.c | Loading commit data... | |
cse.c | Loading commit data... | |
cselib.c | Loading commit data... | |
cselib.h | Loading commit data... | |
cstamp-h.in | Loading commit data... | |
dbxout.c | Loading commit data... | |
dbxout.h | Loading commit data... | |
dbxstclass.h | Loading commit data... | |
debug.c | Loading commit data... | |
debug.h | Loading commit data... | |
defaults.h | Loading commit data... | |
df.c | Loading commit data... | |
df.h | Loading commit data... | |
diagnostic.c | Loading commit data... | |
diagnostic.def | Loading commit data... | |
diagnostic.h | Loading commit data... | |
dojump.c | Loading commit data... | |
doloop.c | Loading commit data... | |
dominance.c | Loading commit data... | |
doschk.c | Loading commit data... | |
dummy-conditions.c | Loading commit data... | |
dwarf.h | Loading commit data... | |
dwarf2.h | Loading commit data... | |
dwarf2asm.c | Loading commit data... | |
dwarf2asm.h | Loading commit data... | |
dwarf2out.c | Loading commit data... | |
dwarf2out.h | Loading commit data... | |
dwarfout.c | Loading commit data... | |
emit-rtl.c | Loading commit data... | |
errors.c | Loading commit data... | |
errors.h | Loading commit data... | |
et-forest.c | Loading commit data... | |
et-forest.h | Loading commit data... | |
except.c | Loading commit data... | |
except.h | Loading commit data... | |
explow.c | Loading commit data... | |
expmed.c | Loading commit data... | |
expr.c | Loading commit data... | |
expr.h | Loading commit data... | |
final.c | Loading commit data... | |
fix-header.c | Loading commit data... | |
fixproto | Loading commit data... | |
flags.h | Loading commit data... | |
flow.c | Loading commit data... | |
fold-const.c | Loading commit data... | |
fp-test.c | Loading commit data... | |
function.c | Loading commit data... | |
function.h | Loading commit data... | |
future.options | Loading commit data... | |
gbl-ctors.h | Loading commit data... | |
gcc.c | Loading commit data... | |
gcc.h | Loading commit data... | |
gccbug.in | Loading commit data... | |
gccspec.c | Loading commit data... | |
gcov-dump.c | Loading commit data... | |
gcov-io.c | Loading commit data... | |
gcov-io.h | Loading commit data... | |
gcov-iov.c | Loading commit data... | |
gcov.c | Loading commit data... | |
gcse.c | Loading commit data... | |
gdbinit.in | Loading commit data... | |
gen-protos.c | Loading commit data... | |
genattr.c | Loading commit data... | |
genattrtab.c | Loading commit data... | |
genattrtab.h | Loading commit data... | |
genautomata.c | Loading commit data... | |
gencheck.c | Loading commit data... | |
gencodes.c | Loading commit data... | |
genconditions.c | Loading commit data... | |
genconfig.c | Loading commit data... | |
genconstants.c | Loading commit data... | |
genemit.c | Loading commit data... | |
genextract.c | Loading commit data... | |
genflags.c | Loading commit data... | |
gengenrtl.c | Loading commit data... | |
gengtype-lex.l | Loading commit data... | |
gengtype-yacc.y | Loading commit data... | |
gengtype.c | Loading commit data... | |
gengtype.h | Loading commit data... | |
genmultilib | Loading commit data... | |
genopinit.c | Loading commit data... | |
genoutput.c | Loading commit data... | |
genpeep.c | Loading commit data... | |
genpreds.c | Loading commit data... | |
genrecog.c | Loading commit data... | |
gensupport.c | Loading commit data... | |
gensupport.h | Loading commit data... | |
ggc-common.c | Loading commit data... | |
ggc-none.c | Loading commit data... | |
ggc-page.c | Loading commit data... | |
ggc-simple.c | Loading commit data... | |
ggc.h | Loading commit data... | |
glimits.h | Loading commit data... | |
global.c | Loading commit data... | |
gmon.c | Loading commit data... | |
graph.c | Loading commit data... | |
graph.h | Loading commit data... | |
gstab.h | Loading commit data... | |
gsyms.h | Loading commit data... | |
gsyslimits.h | Loading commit data... | |
gthr-aix.h | Loading commit data... | |
gthr-dce.h | Loading commit data... | |
gthr-gnat.c | Loading commit data... | |
gthr-gnat.h | Loading commit data... | |
gthr-posix.h | Loading commit data... | |
gthr-rtems.h | Loading commit data... | |
gthr-single.h | Loading commit data... | |
gthr-solaris.h | Loading commit data... | |
gthr-vxworks.h | Loading commit data... | |
gthr-win32.h | Loading commit data... | |
gthr.h | Loading commit data... | |
haifa-sched.c | Loading commit data... | |
hard-reg-set.h | Loading commit data... | |
hashtable.c | Loading commit data... | |
hashtable.h | Loading commit data... | |
hooks.c | Loading commit data... | |
hooks.h | Loading commit data... | |
host-default.c | Loading commit data... | |
hosthooks-def.h | Loading commit data... | |
hosthooks.h | Loading commit data... | |
hwint.h | Loading commit data... | |
ifcvt.c | Loading commit data... | |
input.h | Loading commit data... | |
insn-addr.h | Loading commit data... | |
integrate.c | Loading commit data... | |
integrate.h | Loading commit data... | |
intl.c | Loading commit data... | |
intl.h | Loading commit data... | |
jump.c | Loading commit data... | |
langhooks-def.h | Loading commit data... | |
langhooks.c | Loading commit data... | |
langhooks.h | Loading commit data... | |
lcm.c | Loading commit data... | |
libfuncs.h | Loading commit data... | |
libgcc-std.ver | Loading commit data... | |
libgcc2.c | Loading commit data... | |
libgcc2.h | Loading commit data... | |
libgcov.c | Loading commit data... | |
limitx.h | Loading commit data... | |
limity.h | Loading commit data... | |
line-map.c | Loading commit data... | |
line-map.h | Loading commit data... | |
lists.c | Loading commit data... | |
local-alloc.c | Loading commit data... | |
longlong.h | Loading commit data... | |
loop-init.c | Loading commit data... | |
loop-unroll.c | Loading commit data... | |
loop-unswitch.c | Loading commit data... | |
loop.c | Loading commit data... | |
loop.h | Loading commit data... | |
machmode.def | Loading commit data... | |
machmode.h | Loading commit data... | |
main.c | Loading commit data... | |
mbchar.c | Loading commit data... | |
mbchar.h | Loading commit data... | |
mips-tdump.c | Loading commit data... | |
mips-tfile.c | Loading commit data... | |
mkconfig.sh | Loading commit data... | |
mkdeps.c | Loading commit data... | |
mkdeps.h | Loading commit data... | |
mkheaders.in | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
mklibgcc.in | Loading commit data... | |
mkmap-flat.awk | Loading commit data... | |
mkmap-symver.awk | Loading commit data... | |
move-if-change | Loading commit data... | |
optabs.c | Loading commit data... | |
optabs.h | Loading commit data... | |
opts.c | Loading commit data... | |
opts.h | Loading commit data... | |
opts.sh | Loading commit data... | |
output.h | Loading commit data... | |
params.c | Loading commit data... | |
params.def | Loading commit data... | |
params.h | Loading commit data... | |
postreload.c | Loading commit data... | |
predict.c | Loading commit data... | |
predict.def | Loading commit data... | |
predict.h | Loading commit data... | |
prefix.c | Loading commit data... | |
prefix.h | Loading commit data... | |
pretty-print.h | Loading commit data... | |
print-rtl.c | Loading commit data... | |
print-tree.c | Loading commit data... | |
profile.c | Loading commit data... | |
protoize.c | Loading commit data... | |
ra-build.c | Loading commit data... | |
ra-colorize.c | Loading commit data... | |
ra-debug.c | Loading commit data... | |
ra-rewrite.c | Loading commit data... | |
ra.c | Loading commit data... | |
ra.h | Loading commit data... | |
read-rtl.c | Loading commit data... | |
real.c | Loading commit data... | |
real.h | Loading commit data... | |
recog.c | Loading commit data... | |
recog.h | Loading commit data... | |
reg-stack.c | Loading commit data... | |
regclass.c | Loading commit data... | |
regmove.c | Loading commit data... | |
regrename.c | Loading commit data... | |
regs.h | Loading commit data... | |
reload.c | Loading commit data... | |
reload.h | Loading commit data... | |
reload1.c | Loading commit data... | |
reorg.c | Loading commit data... | |
resource.c | Loading commit data... | |
resource.h | Loading commit data... | |
rtl-error.c | Loading commit data... | |
rtl.c | Loading commit data... | |
rtl.def | Loading commit data... | |
rtl.h | Loading commit data... | |
rtlanal.c | Loading commit data... | |
sbitmap.c | Loading commit data... | |
sbitmap.h | Loading commit data... | |
scan-decls.c | Loading commit data... | |
scan-types.sh | Loading commit data... | |
scan.c | Loading commit data... | |
scan.h | Loading commit data... | |
sched-deps.c | Loading commit data... | |
sched-ebb.c | Loading commit data... | |
sched-int.h | Loading commit data... | |
sched-rgn.c | Loading commit data... | |
sched-vis.c | Loading commit data... | |
sdbout.c | Loading commit data... | |
sdbout.h | Loading commit data... | |
sibcall.c | Loading commit data... | |
simplify-rtx.c | Loading commit data... | |
sort-protos | Loading commit data... | |
sreal.c | Loading commit data... | |
sreal.h | Loading commit data... | |
ssa-ccp.c | Loading commit data... | |
ssa-dce.c | Loading commit data... | |
ssa.c | Loading commit data... | |
ssa.h | Loading commit data... | |
stab.def | Loading commit data... | |
stack.h | Loading commit data... | |
stmt.c | Loading commit data... | |
stor-layout.c | Loading commit data... | |
stringpool.c | Loading commit data... | |
sys-protos.h | Loading commit data... | |
sys-types.h | Loading commit data... | |
system.h | Loading commit data... | |
target-def.h | Loading commit data... | |
target.h | Loading commit data... | |
timevar.c | Loading commit data... | |
timevar.def | Loading commit data... | |
timevar.h | Loading commit data... | |
tlink.c | Loading commit data... | |
toplev.c | Loading commit data... | |
toplev.h | Loading commit data... | |
tracer.c | Loading commit data... | |
tree-dump.c | Loading commit data... | |
tree-dump.h | Loading commit data... | |
tree-inline.c | Loading commit data... | |
tree-inline.h | Loading commit data... | |
tree.c | Loading commit data... | |
tree.def | Loading commit data... | |
tree.h | Loading commit data... | |
tsystem.h | Loading commit data... | |
typeclass.h | Loading commit data... | |
unroll.c | Loading commit data... | |
unwind-c.c | Loading commit data... | |
unwind-dw2-fde-darwin.c | Loading commit data... | |
unwind-dw2-fde-glibc.c | Loading commit data... | |
unwind-dw2-fde.c | Loading commit data... | |
unwind-dw2-fde.h | Loading commit data... | |
unwind-dw2.c | Loading commit data... | |
unwind-libunwind.c | Loading commit data... | |
unwind-pe.h | Loading commit data... | |
unwind-sjlj.c | Loading commit data... | |
unwind.h | Loading commit data... | |
unwind.inc | Loading commit data... | |
value-prof.c | Loading commit data... | |
value-prof.h | Loading commit data... | |
varasm.c | Loading commit data... | |
varray.c | Loading commit data... | |
varray.h | Loading commit data... | |
version.c | Loading commit data... | |
version.h | Loading commit data... | |
vmsdbg.h | Loading commit data... | |
vmsdbgout.c | Loading commit data... | |
xcoffout.c | Loading commit data... | |
xcoffout.h | Loading commit data... |