Skip to content
Snippets Groups Projects
  1. Jul 04, 2004
    • neil's avatar
      * doc/cpp.texi: Don't document what we do for ill-formed expressions. · d80efa72
      neil authored
      	* doc/cppopts.texi: Clarify processing of command-line defines.
      
      libcpp:
      	PR preprocessor/16192
      	PR preprocessor/15913
      	PR preprocessor/15572
      	* expr.c (_cpp_parse_expr): Handle remaining cases where an
      	expression is missing.
      	* init.c (post_options): Traditional cpp doesn't do // comments.
      
      testsuite:
      	* gcc.dg/cpp/if-mop.c: Two new testcases.
      	* gcc.dg/cpp/trad/comment-3.c: New.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84080 138bc75d-0d04-0410-961f-82ee72b054a4
      d80efa72
  2. May 24, 2004
    • bonzini's avatar
      ChangeLog: · d856c8a6
      bonzini authored
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Makefile.def (host_modules): add libcpp.
      	* Makefile.tpl: Add dependencies on and for libcpp.
      	* Makefile.in: Regenerate.
      	* configure.in: Add libcpp host module.
      	* configure: Regenerate.
      
      config/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* acx.m4 (ACX_HEADER_STDBOOL, ACX_HEADER_STRING):
      	From gcc.
      
      gcc/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	Move libcpp to the toplevel.
      	* Makefile.in: Remove references to libcpp files,
      	use CPPLIBS instead of libcpp.a.  Define SYMTAB_H
      	and change hashtable.h to that.
      	* aclocal.m4 (gcc_AC_HEADER_STDBOOL,
      	gcc_AC_HEADER_STRING, gcc_AC_C__BOOL): Remove.
      	* configure.ac (gcc_AC_C__BOOL, HAVE_UCHAR): Remove tests.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* c-ppoutput.c: Include ../libcpp/internal.h instead of cpphash.h.
      	* cppcharset.c: Removed.
      	* cpperror.c: Removed.
      	* cppexp.c: Removed.
      	* cppfiles.c: Removed.
      	* cpphash.c: Removed.
      	* cpphash.h: Removed.
      	* cppinit.c: Removed.
      	* cpplex.c: Removed.
      	* cpplib.c: Removed.
      	* cpplib.h: Removed.
      	* cppmacro.c: Removed.
      	* cpppch.c: Removed.
      	* cpptrad.c: Removed.
      	* cppucnid.h: Removed.
      	* cppucnid.pl: Removed.
      	* cppucnid.tab: Removed.
      	* hashtable.c: Removed.
      	* hashtable.h: Removed.
      	* line-map.c: Removed.
      	* line-map.h: Removed.
      	* mkdeps.c: Removed.
      	* mkdeps.h: Removed.
      	* stringpool.h: Include symtab.h instead of hashtable.h.
      	* tree.h: Include symtab.h instead of hashtable.h.
      	* system.h (O_NONBLOCK, O_NOCTTY): Do not define.
      
      gcc/cp/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Make-lang.in: No need to specify $(LIBCPP).
      
      gcc/java/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Make-lang.in: Link in $(LIBCPP) instead of mkdeps.o.
      
      libcpp/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	Moved libcpp from the gcc subdirectory to the toplevel.
      	* Makefile.am: New file.
      	* Makefile.in: Regenerate.
      	* configure.ac: New file.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* charset.c: Moved from gcc/cppcharset.c.  Add note about
      	brokenness of input charset detection.  Adjust for change
      	in name of cppucnid.h.
      	* errors.c: Moved from gcc/cpperror.c.  Do not include intl.h.
      	* expr.c: Moved from gcc/cppexp.c.
      	* files.c: Moved from gcc/cppfiles.c.  Do not include intl.h.
      	Remove #define of O_BINARY, it is in system.h.
      	* identifiers.c: Moved from gcc/cpphash.c.
      	* internal.h: Moved from gcc/cpphash.h.  Change header
      	guard name.  All other files adjusted to match name change.
      	* init.c: Moved from gcc/cppinit.c.
      	(init_library) [ENABLE_NLS]: Call bindtextdomain.
      	* lex.c: Moved from gcc/cpplex.c.
      	* directives.c: Moved from gcc/cpplib.c.
      	* macro.c: Moved from gcc/cppmacro.c.
      	* pch.c: Moved from gcc/cpppch.c.  Do not include intl.h.
      	* traditional.c: Moved from gcc/cpptrad.c.
      	* ucnid.h: Moved from gcc/cppucnid.h.  Change header
      	guard name.
      	* ucnid.pl: Moved from gcc/cppucnid.pl.
      	* ucnid.tab: Moved from gcc/cppucnid.tab.  Change header
      	guard name.
      	* symtab.c: Moved from gcc/hashtable.c.
      	* line-map.c: Moved from gcc.  Do not include intl.h.
      	* mkdeps.c: Moved from gcc.
      	* system.h: New file.
      
      libcpp/include/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* cpplib.h: Moved from gcc.  Change header guard name.
      	* line-map.h: Moved from gcc.  Change header guard name.
      	* mkdeps.h: Moved from gcc.  Change header guard name.
      	* symtab.h: Moved from gcc/hashtable.h.  Change header
      	guard name.
      
      libcpp/po/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* be.po: Extracted from gcc/po/be.po.
      	* ca.po: Extracted from gcc/po/ca.po.
      	* da.po: Extracted from gcc/po/da.po.
      	* de.po: Extracted from gcc/po/de.po.
      	* el.po: Extracted from gcc/po/el.po.
      	* es.po: Extracted from gcc/po/es.po.
      	* fr.po: Extracted from gcc/po/fr.po.
      	* ja.po: Extracted from gcc/po/ja.po.
      	* nl.po: Extracted from gcc/po/nl.po.
      	* sv.po: Extracted from gcc/po/sv.po.
      	* tr.po: Extracted from gcc/po/tr.po.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82199 138bc75d-0d04-0410-961f-82ee72b054a4
      d856c8a6
  3. May 13, 2004
  4. Mar 15, 2004
    • kazu's avatar
      gcc/ · a62ddad6
      kazu authored
      	* c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c,
      	et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h,
      	hosthooks.h, params.h, ra-colorize.c, web.c,
      	config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c,
      	config/avr/avr-protos.h, config/avr/avr.md,
      	config/fr30/fr30-protos.h, config/fr30/fr30.md,
      	config/h8300/fixunssfsi.c, config/i386/darwin.h,
      	config/i386/freebsd.h, config/i386/freebsd64.h,
      	config/ia64/hpux.h, config/ia64/unwind-ia64.c,
      	config/ip2k/libgcc.S, config/m32r/xm-m32r.h,
      	config/mmix/mmix-modes.def, config/ns32k/netbsd.h,
      	config/ns32k/ns32k.md, config/pa/pa64-hpux.h,
      	config/pa/pa64-regs.h, config/rs6000/aix41.h,
      	config/rs6000/aix43.h, config/rs6000/host-darwin.c,
      	config/sparc/aout.h, config/sparc/freebsd.h,
      	config/sparc/litecoff.h, config/vax/vax-protos.h,
      	doc/hostconfig.texi, doc/include/gcc-common.texi: Update
      	copyright.
      
      gcc/cp/
      	* cp-lang.c, ptree.c: Update copyright.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79506 138bc75d-0d04-0410-961f-82ee72b054a4
      a62ddad6
  5. Feb 11, 2004
    • jsm28's avatar
      PR c/456 · 638ed81f
      jsm28 authored
      	* cppexp.c (num_binary_op): Don't allow comma operators in #if
      	constant expressions at all outside C99 mode if pedantic.
      
      testsuite:
      	* gcc.dg/cpp/c90-if-comma-1.c, gcc.dg/cpp/c99-if-comma-1.c:
      	New tests.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77676 138bc75d-0d04-0410-961f-82ee72b054a4
      638ed81f
  6. Nov 01, 2003
    • danglin's avatar
      PR preprocessor/12847 · d80d2074
      danglin authored
      	* cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
      	cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
      	c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
      	DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
      	"CPP_".
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73183 138bc75d-0d04-0410-961f-82ee72b054a4
      d80d2074
  7. Aug 03, 2003
  8. Jul 19, 2003
    • ghazi's avatar
      * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c · f0af5a88
      ghazi authored
      	c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
      	c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
      	collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
      	cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
      	cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
      	dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
      	fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
      	gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
      	genemit.c genextract.c genoutput.c genrecog.c gensupport.c
      	ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
      	integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
      	loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
      	postreload.c prefix.c print-tree.c protoize.c ra-build.c
      	ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
      	regmove.c regrename.c reload.c reload1.c reorg.c resource.c
      	sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
      	simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
      	tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
      	varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
      	casts.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69587 138bc75d-0d04-0410-961f-82ee72b054a4
      f0af5a88
  9. Jul 13, 2003
    • zack's avatar
      * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H). · 69edc0b3
      zack authored
      	(hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
      	list.  Move these all together down by cpplib.
      
      	* cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
      	definition of CPPCHAR_SIGNED_T.
      
      	* cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
      	* cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
      	* line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
      
      	* cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
      	* cppinit.c (cpp_create_reader): Likewise.
      
      	* cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
      	* cpptrad.c: Likewise.  All callers changed.
      	* cpplib.c: All callers changed.
      	* c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
      	* hashtable.h: Define GTY(x) to nothing here too.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69298 138bc75d-0d04-0410-961f-82ee72b054a4
      69edc0b3
  10. Jun 17, 2003
  11. Apr 22, 2003
    • neil's avatar
      * c-lex.c (c_lex): Handle CPP_OTHER differently. · bc205914
      neil authored
      	* cppexp.c (_cpp_parse_expr): Similarly.
      	* cpplex.c (SPELL_CHAR): Remove.
      	(_cpp_lex_direct): Stray chars are saved as byte strings.
      	(cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
      	handle SPELL_CHAR.
      	(cpp_avoid_paste): Update handling of CPP_OTHER.
      	* cpplib.h: Spell CPP_OTHER like a number.
      	(struct cpp_token): Remove member c.
      	* cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65951 138bc75d-0d04-0410-961f-82ee72b054a4
      bc205914
  12. Apr 19, 2003
  13. Mar 31, 2003
  14. Dec 19, 2002
    • kazu's avatar
      * ChangeLog: Follow spelling conventions. · a8b24921
      kazu authored
      	* ChangeLog.2: Likewise.
      	* ChangeLog.4: Likewise.
      	* ChangeLog.5: Likewise.
      	* cppexp.c: Likewise.
      	* df.c: Likewise.
      	* gcov.c: Likewise.
      	* gengtype.c: Likewise.
      	* reload1.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* timevar.c: Likewise.
      	* toplev.c: Likewise.
      	* tree.h: Likewise.
      	* varasm.c: Likewise.
      	* config/fr30/fr30.md: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/pa/pa.c: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60281 138bc75d-0d04-0410-961f-82ee72b054a4
      a8b24921
  15. Dec 16, 2002
  16. Nov 29, 2002
  17. Sep 22, 2002
    • kazu's avatar
      * ChangeLog: Follow spelling conventions. · d10cfa8d
      kazu authored
      	* ChangeLog.0: Likewise.
      	* ChangeLog.1: Likewise.
      	* ChangeLog.2: Likewise.
      	* ChangeLog.3: Likewise.
      	* ChangeLog.4: Likewise.
      	* ChangeLog.5: Likewise.
      	* ChangeLog.6: Likewise.
      	* FSFChangeLog.10: Likewise.
      	* FSFChangeLog.11: Likewise.
      	* alias.c: Likewise.
      	* basic-block.h: Likewise.
      	* c-aux-info.c: Likewise.
      	* c-common.c: Likewise.
      	* c-common.h: Likewise.
      	* c-decl.c: Likewise.
      	* c-format.c: Likewise.
      	* c-semantics.c: Likewise.
      	* c-typeck.c: Likewise.
      	* calls.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgloop.c: Likewise.
      	* collect2.c: Likewise.
      	* combine.c: Likewise.
      	* conflict.c: Likewise.
      	* cppexp.c: Likewise.
      	* cppfiles.c: Likewise.
      	* cpphash.h: Likewise.
      	* cppinit.c: Likewise.
      	* cpplex.c: Likewise.
      	* cpplib.c: Likewise.
      	* cpplib.h: Likewise.
      	* cppmacro.c: Likewise.
      	* cse.c: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57398 138bc75d-0d04-0410-961f-82ee72b054a4
      d10cfa8d
  18. Sep 16, 2002
    • kazu's avatar
      * ABOUT-NLS: Follow spelling conventions. · 974e2c0c
      kazu authored
      	* ChangeLog: Likewise.
      	* ChangeLog.1: Likewise.
      	* ChangeLog.2: Likewise.
      	* ChangeLog.3: Likewise.
      	* ChangeLog.4: Likewise.
      	* ChangeLog.5: Likewise.
      	* ChangeLog.6: Likewise.
      	* FSFChangeLog.10: Likewise.
      	* FSFChangeLog.11: Likewise.
      	* c-common.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-objc-common.c: Likewise.
      	* cppexp.c: Likewise.
      	* cppinit.c: Likewise.
      	* cpplex.c: Likewise.
      	* doloop.c: Likewise.
      	* flow.c: Likewise.
      	* function.c: Likewise.
      	* integrate.c: Likewise.
      	* loop.c: Likewise.
      	* reg-stack.c: Likewise.
      	* reload.h: Likewise.
      	* ssa.c: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57188 138bc75d-0d04-0410-961f-82ee72b054a4
      974e2c0c
  19. Aug 02, 2002
    • zack's avatar
      * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long. · 3385506f
      zack authored
      	* cppinit.c (cpp_post_options): Likewise.
      
      	* cppexp.c (cpp_classify_number): Suppress -Wtraditional
      	warning about 'LL' suffix (but not 'ULL' etc) when
      	-Wno-long-long is in effect.
      
      	* cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
      	Check for failing time()/localtime(), issue a warning, and
      	make __TIME__ and __DATE__ expand to fallback strings.
      
      	* doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
      	and __TIME__ when the date and time cannot be determined.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55969 138bc75d-0d04-0410-961f-82ee72b054a4
      3385506f
  20. Jul 23, 2002
    • neil's avatar
      * cppexp.c (parse_defined): Mark macro used. · 71a7c282
      neil authored
      	* cpphash.h (struct cpp_macro): New member "used".
      	(_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
      	(struct cpp_reader): New member.
      	* cppinit.c (cpp_finish_options): Set first_unused_line.
      	(cpp_finish): Warn of unused macros if requested.
      	(OPT_TABLE): New switches.
      	(cpp_handle_option): Handle them.
      	* cpplib.c (do_undef): Warn if macro unused.
      	(do_ifdef, do_ifndef): Mark macro used.
      	* cpplib.h (struct cpp_options): New member.
      	* cppmacro.c (_cpp_warn_if_unused_macro): New.
      	(enter_macro_context): Mark macro used.
      	(_cpp_create_definition): Mark macro unused; warn if unused
      	when redefined.
      	* cpptrad.c (scan_out_logcial_line, push_replacement_text):
      	Mark macros used.
      	* doc/cppopts.texi: Update.
      testsuite:
      	* gcc.dg/cpp/trad/Wunused.c, gcc.dg/cpp/trad/Wunused.h,
      	gcc.dg/cpp/Wunused.c, gcc.dg/cpp/Wunused.h: New tests.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55692 138bc75d-0d04-0410-961f-82ee72b054a4
      71a7c282
  21. Jul 20, 2002
    • neil's avatar
      * cppexp.c (struct op): Add token pointer. · 21d6e4ae
      neil authored
      	(check_promotion, CHECK_PROMOTION): New.
      	(optab): Update.
      	(_cpp_parse_expr): Update, use token pointer of struct op.
      	(reduce): Warn about change of sign owing to promotion.
      	* cppinit.c (cpp_handle_option): New warning if -Wall.
      	* cpplib.h (struct cpp_options): New member.
      testsuite:
      	* gcc.dg/cpp/Wsignprom.c: New tests.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55611 138bc75d-0d04-0410-961f-82ee72b054a4
      21d6e4ae
  22. Jul 19, 2002
  23. Jul 18, 2002
  24. Jul 17, 2002
  25. Jul 09, 2002
  26. Jun 20, 2002
    • neil's avatar
      * cppexp.c (cpp_interpret_integer): Don't force traditional · 17df7fec
      neil authored
      	numbers to be unsigned.
      	* cpplib.c (prepare_directive_trad): Set line number for
      	diagnostics.
      	* cpptrad.c (scan_out_logical_line): Continue scanning out
      	at start of buffer.
      	* gcc.c (trad_capable_cpp): Use cc1 always.
      f:
      	* lang-specs.h: Use cc1 for traditional preprocessing.
      testsuite:
      	* gcc.dg/cpp/assert_trad1.c, gcc.dg/cpp/assert_trad2.c,
      	gcc.dg/cpp/assert_trad3.c, gcc.dg/cpp/defined_trad.c,
      	gcc.dg/cpp/hash2.c, gcc.dg/cpp/tr-define.c, gcc.dg/cpp/tr-direct.c,
      	gcc.dg/cpp/tr-sign.c, gcc.dg/cpp/tr-str.c, gcc.dg/cpp/uchar-2.c:
      	Remove.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54856 138bc75d-0d04-0410-961f-82ee72b054a4
      17df7fec
  27. Jun 07, 2002
  28. Jun 02, 2002
    • neil's avatar
      * c-common.c (c_common_init): Override cpplib's default · f5ec8cb5
      neil authored
      	warn_long_long setting.
      	* c-lex.c (lex_number): Replace with interpret_integer,
      	interpret_float, narrowest_unsigned_type and
      	narrowest_signed_type, taking advantage of the new
      	cpplib functionality.
      	* cpperror.c (_cpp_begin_message): If a warning is turned
      	into an error, avoid printing "warning:".
      	* cppexp.c (cpp_num_sign_extend): New.
      	* cppinit.c: Update comment.
      	* cpplib.h (cpp_num_sign_extend): New.
      	* tree.h: Update comment.
      testsuite:
      	* gcc.dg/wtr-int-type-1.c, gcc.dg/wtr-suffix-1.c,
      	gcc.dg/cpp/paste4.c, gcc.dg/cpp/sysmac2.c:
      	Update for mofified diagnostics.
      	* gcc.dg/c99-intconst-1.c: No longer fail.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54180 138bc75d-0d04-0410-961f-82ee72b054a4
      f5ec8cb5
  29. Jun 01, 2002
  30. May 29, 2002
    • neil's avatar
      2002-05-29 Neil Booth <neil@daikokuya.demon.co.uk> · 4baf0479
      neil authored
      	    Zack Weinberg <zack@codesourcery.com>
      
      	* cppexp.c (cpp_num): Move to cpplib.h.
      	(CPP_ERROR): Remove.
      	(interpret_float_suffix, interpret_int_suffix): New.
      	(struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
      	(cpp_classify_number, cpp_interpret_integer): New.
      	(interpret_number): Remove.
      	(eval_token): Update to use new routines.
      	* cpphash.h (cpp_num_part): Move to cpplib.h.
      	* cppinit.c (cpp_post_options): Set warn_long_long.
      	* cpplib.h (struct cpp_options): Add warn_long_long.
      	(cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
      	CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
      	CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
      	CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
      	cpp_interpret_integer): New.
      testsuite:
      	* gcc.dg/cpp/c++98-pedantic.c, gcc.dg/cpp/c89-pedantic.c,
      	gcc.dg/cpp/c94-pedantic.c, gcc.dg/cpp/gnuc89-pedantic.c,
      	gcc.dg/cpp/if-1.c: Update for modified diagnostics.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54007 138bc75d-0d04-0410-961f-82ee72b054a4
      4baf0479
  31. May 28, 2002
  32. May 27, 2002
  33. May 26, 2002
    • neil's avatar
      * cppexp.c (possible_sum_sign, integer_overflow, left_shift, · b444d47a
      neil authored
      	right_shift): Remove.
      	(cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
      	HIGH_PART): New.
      	(struct op): Use cpp_num.
      	(num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
      	num_part_mul, num_unary_op, num_binary_op, num_negate,
      	num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
      	num_div_op, num_lshift, num_rshift, append_digit): New.
      	(interpret_number, parse_defined, eval_token, reduce): Update
      	for two-integer arithmetic.
      	(binary_handler): New typedef.
      	(optab): Update.
      	(COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
      	(_cpp_parse_expr, reduce): Update to handle two-integers.
      	* cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
      testsuite:
      	* gcc.dg/cpp/arith-1.c: New semantic tests.
      	* gcc.dg/cpp/if-1.c: Update.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53900 138bc75d-0d04-0410-961f-82ee72b054a4
      b444d47a
  34. May 22, 2002
    • kazu's avatar
      * cpperror.c: Fix formatting. · b1a9ff83
      kazu authored
      	* cppexp.c: Likewise.
      	* cppfiles.c: Likewise.
      	* cpphash.c: Likewise.
      	* cpphash.h: Likewise.
      	* cppinit.c: Likewise.
      	* cpplex.c: Likewise.
      	* cpplib.c: Likewise.
      	* cppmacro.c: Likewise.
      	* cppmain.c: Likewise.
      	* cppspec.c: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53751 138bc75d-0d04-0410-961f-82ee72b054a4
      b1a9ff83
  35. May 09, 2002
  36. May 06, 2002
    • neil's avatar
      * c-common.c (warn_multichar): New. · 318fdd81
      neil authored
      	(c_common_init): Set CPP's warn_multichar.
      	* c-common.h (warn_multichar): New.
      	* c-decl.c (warn_multichar): Remove.
      	* c-lex.c (lex_charconst): Update.
      	* c-tree.h (warn_multichar): Remove.
      	* cppexp.c (eval_token): Sign-extend charconst value.
      	* cppinit.c (cpp_create_reader): Set warn_multichar.
      	* cpplex.c (cpp_interpret_charconst): Don't sign-extend
      	each character.  Update prototype.  Sign-extend the result.
      	* cpplib.h: Fix conditions.
      	(struct cpp_options): Add new warning flag.
      	(cpp_interpret_charconst): Update prototype.
      cp:
      	* Make-lang.in (decl2.o): Update.
      	* cp-tree.h (warn_multichar): Remove.
      	* decl2.c: Include c-common.h.
      	(warn_multichar): Remove.
      doc:
      	* cpp.texi: Update documentation.
      testsuite:
      	* gcc.dg/cpp/charconst-3.c: Correct tests accordingly.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53240 138bc75d-0d04-0410-961f-82ee72b054a4
      318fdd81
  37. May 04, 2002
    • neil's avatar
      * c-lex.c (lex_string): Let cpp_parse_escape handles truncation · 13c457e1
      neil authored
      	and sign-extension.
      	(lex_charconst): Update for change in prototype of
      	cpp_interpret_charconst.  Extend from cppchar_t to HOST_WIDE_INT
      	appropriately.
      	* cpphash.h (BITS_PER_CPPCHAR_T): New.
      	* cppinit.c (cpp_create_reader): Initialize them for no
      	change in semantics.
      	(cpp_post_options): Add sanity checks.
      	* cpplex.c (cpp_parse_escape): Handle precision, sign-extension
      	and truncation issues.  Calculate in type cppchar_t.
      	(MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
      	(cpp_interpret_charconst): Calculate in type cppchar_t.  Handle
      	run-time dependent precision correctly.  Return whether the
      	result is signed or not.
      	* cpplib.c (dequote_string): Use cppchar_t; update.
      	* cpplib.h (cppchar_signed_t): New.
      	struct cpp_options): New precision members.
      	(cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53152 138bc75d-0d04-0410-961f-82ee72b054a4
      13c457e1
  38. Apr 28, 2002
    • neil's avatar
      * cppexp.c (lex): Move some code to _cpp_parse_expr, but · 93bfa70b
      neil authored
      	keep most cases as function eval_token.
      	(eval_token): New function.
      	(_cpp_parse_expr): Read token here for improved diagnostics.
      	Don't use op_as_text.  Detect bad ':' here.
      	(reduce): Don't detect bad ':' here.
      	(op_as_text): Remove.
      	* cpphash.h (_cpp_test_assertion): Change prototype.
      	* cpplib.c (_cpp_test_assertion): Change prototype.
      testsuite:
      	* gcc.dg/cpp/if-cexp.c: Add a test.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52866 138bc75d-0d04-0410-961f-82ee72b054a4
      93bfa70b
    • neil's avatar
      * cppexp.c (lex): Update to use state.skip_eval. · 5bbf045f
      neil authored
      	(struct op): Remove prio and flags members.
      	(FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
      	SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
      	(LEFT_ASSOC): New macro.
      	(optab): New table of operator priorities and flags.
      	(SHIFT): Update.
      	(_cpp_parse_expr): Clean up logic.  Return bool.  Use a
      	malloc-ed parser stack.
      	(reduce): New; reduce the operator stack.
      	(_cpp_expand_op_stack): Expand the operator stack as necessary.
      	* cpphash.h (struct op): Predeclare.
      	(struct cpp_reader): New members op_stack, op_limit.
      	(struct lexer_state): New member skip_eval.
      	(_cpp_parse_expr): Update.
      	(_cpp_expand_op_stack): New.
      	* cpplib.c (do_if): Update.
      	* cppinit.c (cpp_create_reader): Create op stack.
      	(cpp_destroy): And destroy it.
      	* cpplib.h (CPP_LAST_CPP_OP): Correct.
      	(TTYPE_TABLE): Correct.
      testsuite:
      	* gcc.dg/cpp/if-mop.c: Update.
      	* gcc.dg/cpp/if-mpar.c: Add test.
      	* gcc.dg/cpp/if-oppr.c: Update.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52853 138bc75d-0d04-0410-961f-82ee72b054a4
      5bbf045f
Loading