Skip to content
Snippets Groups Projects
  1. Jun 18, 2009
  2. May 10, 2009
    • Joseph Myers's avatar
      c-lex.c (c_lex_with_flags): Expect cpp_hashnode in tok->val.node.node. · 9a0c6187
      Joseph Myers authored
      gcc:
      	* c-lex.c (c_lex_with_flags): Expect cpp_hashnode in
      	tok->val.node.node.
      
      libcpp:
      	* include/cpplib.h (enum cpp_token_fld_kind): Add
      	CPP_TOKEN_FLD_TOKEN_NO.
      	(struct cpp_macro_arg, struct cpp_identifier): Define.
      	(union cpp_token_u): Use struct cpp_identifier for identifiers.
      	Use struct cpp_macro_arg for macro arguments.  Add token_no for
      	CPP_PASTE token numbers.
      	* directives.c (_cpp_handle_directive, lex_macro_node, do_pragma,
      	do_pragma_poison, parse_assertion): Use val.node.node in place of
      	val.node.
      	* expr.c (parse_defined, eval_token): Use val.node.node in place
      	of val.node.
      	* lex.c (cpp_ideq, _cpp_lex_direct, cpp_token_len,
      	cpp_spell_token, cpp_output_token, _cpp_equiv_tokens,
      	cpp_token_val_index): Use val.macro_arg.arg_no or val.token_no in
      	place of val.arg_no.  Use val.node.node in place of val.node.
      	* macro.c (replace_args, cpp_get_token, parse_params,
      	lex_expansion_token, create_iso_definition, cpp_macro_definition):
      	Use val.macro_arg.arg_no or val.token_no in place of val.arg_no.
      	Use val.node.node in place of val.node.
      
      From-SVN: r147341
      9a0c6187
  3. Apr 25, 2009
  4. Apr 20, 2009
    • Manuel López-Ibáñez's avatar
      re PR c++/13358 (long long and C++ do not mix well) · 9c650d90
      Manuel López-Ibáñez authored
      2009-04-21  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR c++/13358
      	* doc/invoke.texi (-Wlong-long): Update description.
      	* c-lex (interpret_integer): Only warn if there was no previous
      	overflow and -Wlong-long is enabled.
      	* c-decl.c (declspecs_add_type): Drop redundant flags.
      	* c.opt (Wlong-long): Init to -1.
      	* c-opts.c (sanitize_cpp_opts): Synchronize cpp's warn_long_long
      	and front-end warn_long_long. Wlong-long only depends on other
      	flags if it is uninitialized.
      	* c-parser.c (disable_extension_diagnostics): warn_long_long is
      	the same for CPP and FE.
      	(restore_extension_diagnostics): Likewise.
      libcpp/
      	* init.c (cpp_create_reader): Wlong_long is disabled by default.
      	* expr.c (cpp_classify_number): Give different messages for C and
      	C++ front-ends.
      cp/
      	* parser.c (cp_parser_check_decl_spec): Drop redundant flags.
      	* error.c (pedwarn_cxx98): New.
      	* cp-tree.h (pedwarn_cxx98): Declare.
      testsuite/
      	* gcc.dg/wtr-int-type-1.c: Use two dg-warning to match two
      	messages. Test for "long long" in system headers.
      	* gcc.dg/c99-longlong-2.c: New.
      	* g++.dg/warn/pr13358.C: New.
      	* g++.dg/warn/pr13358-2.C: New.
      	* g++.dg/warn/pr13358-3.C: New.
      	* g++.dg/warn/pr13358-4.C: New.
      
      From-SVN: r146459
      9c650d90
  5. Apr 09, 2009
  6. Apr 01, 2009
    • Janis Johnson's avatar
      re PR target/39027 (double floating point suffix of 'd' and 'D' not accepted) · 839a3b8a
      Janis Johnson authored
      gcc/
      	PR c/29027
      	* c-lex.c (interpret_float): Default (no suffix) is double.
      
      libcpp/
      	PR c/29027
      	* include/cpplib.h (CPP_N_DEFAULT): Define.
      	* expr.c (interpret_float_suffix): Recognize d or D for double,
      	return new value for default.
      	(cpp_classify_number): Issue pedwarn for use of d or D in suffix.
      
      gcc/testsuite/
      	PR c/29027
      	* gcc.dg/fltconst-1.c: Don't error for use of d or D in suffix.
      	* gcc.dg/fltconst-2.c: New test.
      	* gcc.dg/fltconst-double-pedantic-1.c: New test.
      	* gcc.dg/fltconst-double-pedantic-2.c: New test.
      
      From-SVN: r145422
      839a3b8a
    • Janis Johnson's avatar
      re PR c/33466 (mixed-case suffix for decimal float constants) · eec49116
      Janis Johnson authored
      libcpp/
      	PR c/33466
      	* expr.c (interpret_float_suffix): Reject invalid suffix that uses
      	letters from decimal float and fixed-point suffixes.
      
      gcc/testsuite
      	PR c/33466
      	* gcc.dg/cpp/pr33466.c: New test.
      	* gcc.dg/dfp/pr33466.c: New test.
      	* gcc.dg/fixed-point/pr33466.c: New test.
      
      From-SVN: r145417
      eec49116
  7. Oct 31, 2008
    • Manuel López-Ibáñez's avatar
      expr.c (struct op): Add location. · 47960aaf
      Manuel López-Ibáñez authored
      2008-10-31  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      libcpp/
      	* expr.c (struct op): Add location.
      	(_cpp_parse_expr): Propagate locations throught the stack
      	of expressions.
      	(reduce): Likewise.
      	(check_promotion): Use explicit location in errors.
      	
      testsuite/
      	* gcc.dg/cpp/Wsignprom.c: Add column numbers.
      	* gcc.dg/cpp/if-mpar.c: Likewise.
      
      From-SVN: r141503
      47960aaf
  8. May 30, 2008
    • Tom Tromey's avatar
      re PR preprocessor/36320 (Required diagnosis of syntax error missed) · d750887f
      Tom Tromey authored
      gcc/testsuite
      	PR preprocessor/36320:
      	* gcc.dg/cpp/pr36320.c: New file.
      libcpp
      	PR preprocessor/36320:
      	* internal.h (_cpp_parse_expr): Update.
      	* expr.c (_cpp_parse_expr): Add 'is_if' argument.  Update error
      	messages.
      	* directives.c (do_if): Update.
      	(do_elif): Require expression if processing group.
      
      From-SVN: r136209
      d750887f
  9. May 13, 2008
    • Tom Tromey's avatar
      re PR preprocessor/22168 (#if #A == #B should have a diagnostic in ISO C mode) · 899015a0
      Tom Tromey authored
      libcpp
      	PR preprocessor/22168:
      	* include/cpplib.h (struct cpp_options) <objc>: Update
      	documentation.
      	* expr.c (eval_token): Warn for use of assertions.
      	* directives.c (directive_diagnostics): Warn about extensions.
      	(DEPRECATED): New define.
      	(DIRECTIVE_TABLE): Use it.
      gcc
      	PR preprocessor/22168:
      	* doc/cpp.texi (Top): Update menu.
      	(Alternatives to Wrapper #ifndef): New node.
      	(Other Directives): Document deprecation.
      	(Obsolete Features): Remove menu.
      	(Assertions): Merge node into Obsolete Features.
      	(Obsolete once-only headers): Move earlier; rename to Alternatives
      	to Wrapper #ifndef.
      	* doc/cppopts.texi: Update.
      	* c.opt (Wdeprecated): Enable for C and ObjC.
      	* doc/invoke.texi (Option Summary): Move -Wno-deprecated.
      	(C++ Dialect Options): Move -Wno-deprecated from here to...
      	(Warning Options): ... here.
      gcc/testsuite
      	PR preprocessor/22168:
      	* gcc.dg/pch/import-2.hs: Add -Wno-deprecated.
      	* gcc.dg/pch/import-1.hs: Add -Wno-deprecated.
      	* gcc.dg/pch/import-2.c: Add -Wno-deprecated.
      	* gcc.dg/pch/import-1.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/import2.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/import1.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/trad/assert3.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/trad/assert2.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/trad/assert1.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/ident.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/ident-1.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/extratokens.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/assert3.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/assert2.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/assert1.c: Add -Wno-deprecated.
      	* gcc.dg/cpp/assert4.c: Compile with -ansi and not -pedantic.  Add
      	-Wno-deprecated.
      	* gcc.dg/cpp/pr22168.c: New file.
      	* gcc.dg/cpp/pr22168-2.c: New file.
      
      From-SVN: r135264
      899015a0
  10. May 06, 2008
    • Tom Tromey's avatar
      PR preprocessor/35313, PR preprocessor/36088: · 71c10038
      Tom Tromey authored
      gcc/testsuite
      	PR preprocessor/35313, PR preprocessor/36088:
      	* gcc.dg/cpp/pr35313.c: New file.
      	* gcc.dg/cpp/if-oppr.c: Remove test for ',' in a conditional
      	expression.
      	* gcc.dg/cpp/if-oppr2.c: New file.
      libcpp
      	PR preprocessor/35313, PR preprocessor/36088:
      	* expr.c (optab) <QUERY, COMMA>: Set precedence to 4.
      	(reduce) <case CPP_QUERY>: Special case CPP_COMMA and CPP_COLON.
      
      From-SVN: r134989
      71c10038
  11. Apr 18, 2008
    • Kris Van Hees's avatar
      cpp-id-data.h (UC): Was U, conflicts with U... · b6baa67d
      Kris Van Hees authored
      libcpp/ChangeLog:
      2008-04-14  Kris Van Hees <kris.van.hees@oracle.com>
      
      * include/cpp-id-data.h (UC): Was U, conflicts with U... literal.
      * include/cpplib.h (CHAR16, CHAR32, STRING16, STRING32): New tokens.
      (struct cpp_options): Added uliterals.
      (cpp_interpret_string): Update prototype.
      (cpp_interpret_string_notranslate): Idem.
      * charset.c (init_iconv_desc): New width member in cset_converter.
      (cpp_init_iconv): Add support for char{16,32}_cset_desc.
      (convert_ucn): Idem.
      (emit_numeric_escape): Idem.
      (convert_hex): Idem.
      (convert_oct): Idem.
      (convert_escape): Idem.
      (converter_for_type): New function.
      (cpp_interpret_string): Use converter_for_type, support u and U prefix.
      (cpp_interpret_string_notranslate): Match changed prototype.
      (wide_str_to_charconst): Use converter_for_type.
      (cpp_interpret_charconst): Add support for CPP_CHAR{16,32}.
      * directives.c (linemarker_dir): Macro U changed to UC.
      (parse_include): Idem.
      (register_pragma_1): Idem.
      (restore_registered_pragmas): Idem.
      (get__Pragma_string): Support CPP_STRING{16,32}.
      * expr.c (eval_token): Support CPP_CHAR{16,32}.
      * init.c (struct lang_flags): Added uliterals.
      (lang_defaults): Idem.
      * internal.h (struct cset_converter) <width>: New field.
      (struct cpp_reader) <char16_cset_desc>: Idem.
      (struct cpp_reader) <char32_cset_desc>: Idem.
      * lex.c (digraph_spellings): Macro U changed to UC.
      (OP, TK): Idem.
      (lex_string): Add support for u'...', U'...', u... and U....
      (_cpp_lex_direct): Idem.
      * macro.c (_cpp_builtin_macro_text): Macro U changed to UC.
      (stringify_arg): Support CPP_CHAR{16,32} and CPP_STRING{16,32}.
      
      gcc/ChangeLog:
      2008-04-14  Kris Van Hees <kris.van.hees@oracle.com>
        
      * c-common.c (CHAR16_TYPE, CHAR32_TYPE): New macros.
      (fname_as_string): Match updated cpp_interpret_string prototype.
      (fix_string_type): Support char16_t* and char32_t*.
      (c_common_nodes_and_builtins): Add char16_t and char32_t (and
      derivative) nodes.  Register as builtin if C++0x.
      (c_parse_error): Support CPP_CHAR{16,32}.
      * c-common.h (RID_CHAR16, RID_CHAR32): New elements. 
      (enum c_tree_index) <CTI_CHAR16_TYPE, CTI_SIGNED_CHAR16_TYPE,
      CTI_UNSIGNED_CHAR16_TYPE, CTI_CHAR32_TYPE, CTI_SIGNED_CHAR32_TYPE,
      CTI_UNSIGNED_CHAR32_TYPE, CTI_CHAR16_ARRAY_TYPE,
      CTI_CHAR32_ARRAY_TYPE>: New elements.
      (char16_type_node, signed_char16_type_node, unsigned_char16_type_node,
      char32_type_node, signed_char32_type_node, char16_array_type_node,
      char32_array_type_node): New defines.
      * c-lex.c (cb_ident): Match updated cpp_interpret_string prototype.
      (c_lex_with_flags): Support CPP_CHAR{16,32} and CPP_STRING{16,32}.
      (lex_string): Support CPP_STRING{16,32}, match updated
      cpp_interpret_string and cpp_interpret_string_notranslate prototypes.
      (lex_charconst): Support CPP_CHAR{16,32}.
      * c-parser.c (c_parser_postfix_expression): Support CPP_CHAR{16,32}
      and CPP_STRING{16,32}.
      
      gcc/cp/ChangeLog:
      2008-04-14  Kris Van Hees <kris.van.hees@oracle.com>
      
      * cvt.c (type_promotes_to): Support char16_t and char32_t.
      * decl.c (grokdeclarator): Disallow signed/unsigned/short/long on
      char16_t and char32_t.
      * lex.c (reswords): Add char16_t and char32_t (for c++0x).
      * mangle.c (write_builtin_type): Mangle char16_t/char32_t as vendor
      extended builtin type u8char32_t.
      * parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Support
      RID_CHAR{16,32}.
      (cp_lexer_print_token): Support CPP_STRING{16,32}.
      (cp_parser_is_string_literal): Idem.
      (cp_parser_string_literal): Idem.
      (cp_parser_primary_expression): Support CPP_CHAR{16,32} and
      CPP_STRING{16,32}.
      (cp_parser_simple_type_specifier): Support RID_CHAR{16,32}. 
      * tree.c (char_type_p): Support char16_t and char32_t as char types.
      * typeck.c (string_conv_p): Support char16_t and char32_t.
      
      gcc/testsuite/ChangeLog:
      2008-04-14  Kris Van Hees <kris.van.hees@oracle.com>
      
      Tests for char16_t and char32_t support.
      * g++.dg/ext/utf-cvt.C: New
      * g++.dg/ext/utf-cxx0x.C: New
      * g++.dg/ext/utf-cxx98.C: New
      * g++.dg/ext/utf-dflt.C: New
      * g++.dg/ext/utf-gnuxx0x.C: New
      * g++.dg/ext/utf-gnuxx98.C: New
      * g++.dg/ext/utf-mangle.C: New
      * g++.dg/ext/utf-typedef-cxx0x.C: New
      * g++.dg/ext/utf-typedef-
      * g++.dg/ext/utf-typespec.C: New
      * g++.dg/ext/utf16-1.C: New
      * g++.dg/ext/utf16-2.C: New
      * g++.dg/ext/utf16-3.C: New
      * g++.dg/ext/utf16-4.C: New
      * g++.dg/ext/utf32-1.C: New
      * g++.dg/ext/utf32-2.C: New
      * g++.dg/ext/utf32-3.C: New
      * g++.dg/ext/utf32-4.C: New
      * gcc.dg/utf-cvt.c: New
      * gcc.dg/utf-dflt.c: New
      * gcc.dg/utf16-1.c: New
      * gcc.dg/utf16-2.c: New
      * gcc.dg/utf16-3.c: New
      * gcc.dg/utf16-4.c: New
      * gcc.dg/utf32-1.c: New
      * gcc.dg/utf32-2.c: New
      * gcc.dg/utf32-3.c: New
      * gcc.dg/utf32-4.c: New
      
      libiberty/ChangeLog:
      2008-04-14  Kris Van Hees <kris.van.hees@oracle.com>
      
      * testsuite/demangle-expected: Added tests for char16_t and char32_t.
      
      From-SVN: r134438
      b6baa67d
  12. Apr 02, 2008
    • Joseph Myers's avatar
      cppopts.texi (-dU): Document. · 93d45d9e
      Joseph Myers authored
      gcc:
      	* doc/cppopts.texi (-dU): Document.
      	* c-common.h (flag_dump_macros): Update comment.
      	* c-opts.c (handle_OPT_d): Handle -dU.
      	* c-ppoutput.c (macro_queue, define_queue, undef_queue,
      	dump_queued_macros, cb_used_define, cb_used_undef): New.
      	(init_pp_output): Handle -dU.
      	(cb_line_change): Call dump_queued_macros.
      	* toplev.c (decode_d_option): Accept -dU as preprocessor option.
      
      gcc/testsuite:
      	* gcc.dg/cpp/cmdlne-dU-1.c, gcc.dg/cpp/cmdlne-dU-2.c,
      	gcc.dg/cpp/cmdlne-dU-3.c, gcc.dg/cpp/cmdlne-dU-4.c,
      	gcc.dg/cpp/cmdlne-dU-5.c, gcc.dg/cpp/cmdlne-dU-6.c,
      	gcc.dg/cpp/cmdlne-dU-7.c, gcc.dg/cpp/cmdlne-dU-8.c,
      	gcc.dg/cpp/cmdlne-dU-9.c, gcc.dg/cpp/cmdlne-dU-10.c,
      	gcc.dg/cpp/cmdlne-dU-11.c, gcc.dg/cpp/cmdlne-dU-12.c,
      	gcc.dg/cpp/cmdlne-dU-13.c, gcc.dg/cpp/cmdlne-dU-14.c,
      	gcc.dg/cpp/cmdlne-dU-15.c, gcc.dg/cpp/cmdlne-dU-16.c,
      	gcc.dg/cpp/cmdlne-dU-17.c, gcc.dg/cpp/cmdlne-dU-18.c,
      	gcc.dg/cpp/cmdlne-dU-19.c, gcc.dg/cpp/cmdlne-dU-20.c,
      	gcc.dg/cpp/cmdlne-dU-21.c, gcc.dg/cpp/cmdlne-dU-22.c: New tests.
      
      libcpp:
      	* include/cpplib.h (struct cpp_callbacks): Add used_define,
      	used_undef and before_define.
      	(NODE_USED): Define.
      	* directives.c (do_define, do_undef, undefine_macros, do_ifdef,
      	do_ifndef, cpp_pop_definition): Handle new flag and use new
      	callbacks.
      	* expr.c (parse_defined): Handle new flag and use new callbacks.
      	* macro.c (enter_macro_context, _cpp_free_definition): Handle new
      	flag and use new callbacks.
      
      From-SVN: r133847
      93d45d9e
  13. Aug 30, 2007
    • Chao-ying Fu's avatar
      expr.c (interpret_float_suffix): Support hr, r, lr, llr, uhr, ur, ulr, ullr,... · ac6b1c67
      Chao-ying Fu authored
      expr.c (interpret_float_suffix): Support hr, r, lr, llr, uhr, ur, ulr, ullr, hk, k, lk, llk, uhk, uk, ulk, ullk.
      
      	* expr.c (interpret_float_suffix): Support hr, r, lr, llr, uhr, ur,
      	ulr, ullr, hk, k, lk, llk, uhk, uk, ulk, ullk.
      	(cpp_classify_number): Support decimal fixed-point constants without
      	exponents.
      	Warn about fixed-point constants when -pedantic.
      	* include/cpplib.h (CPP_N_SMALL, CPP_N_MEDIUM, CPP_N_LARGE): Change
      	comments to support fixed-point values.
      	(CPP_N_FRACT, CPP_N_ACCUM): Define.
      
      From-SVN: r127940
      ac6b1c67
  14. Jul 03, 2007
    • Uros Bizjak's avatar
      cpplib.h (CPP_N_WIDTH_MD, [...]): Add new constants. · c77cd3d1
      Uros Bizjak authored
      libcpp/ChangeLog:
      
      	* include/cpplib.h (CPP_N_WIDTH_MD, CPP_N_MD_W, CPP_N_MD_Q):
      	Add new constants.
      	* expr.c (interpret_float_suffix): Process 'w', 'W', 'q' and 'Q'
      	suffixes.  Return CPP_N_MD_W for 'w' or 'W' suffixes and CPP_N_MD_Q
      	for 'q' or 'Q' suffixes.
      
      gcc/ChangeLog:
      
      	* targhooks.h (default_mode_for_suffix): New function declaration.
      	* targhooks.c (default_mode_for_suffix): New default target hook.
      	* target.h (struct c): New structure in the targetm struct.
      	(mode_for_suffix): New target hook as part of struct c.
      	target-def.h (TARGET_C_MODE_FOR_SUFFIX): Define as
      	default_mode_for_suffix.
      	(TARGET_C): New define.
      	* c-lex.c: Include "target.h".
      	(interpret_float): Use targetm.c.mode_for_suffix to determine
      	the mode for a given non-standard suffix.
      	Makefile.in (c-lex.o): Depend on $(TARGET_H).
      
      	* config/i386/i386.c (ix86_c_mode_for_suffix): New static function.
      	(TARGET_C_MODE_FOR_SUFFIX): Define to ix86_c_mode_for_suffix.
      
      	* doc/extend.texi (Floating Types): New node.  Document __float80 and
      	__float128 types.  Document 'w', 'W', 'q' and 'Q' suffixes.
      
      testsuite/ChangeLog:
      
      	* gcc.dg/const-float80.c : New test.
      	* gcc.dg/const-float128.c : New test.
      	* gcc.dg/const-float80-ped.c : New test.
      	* gcc.dg/const-float128-ped.c : New test.
      
      From-SVN: r126244
      c77cd3d1
  15. Jun 05, 2007
    • Joerg Wunsch's avatar
      re PR preprocessor/23479 (Implement binary constants with a "0b" prefix) · f7fd775f
      Joerg Wunsch authored
      2007-06-05  Joerg Wunsch  <j.gnu@uriah.heep.sax.de>
      
      	PR preprocessor/23479
      gcc/
      	* doc/extend.texi: Document the 0b-prefixed binary integer
      	constant extension.
      
      libcpp/
      	* expr.c (cpp_classify_number): Implement 0b-prefixed binary
      	integer constants.
      	(append_digit): Likewise.
      	* include/cpplib.h: Add CPP_N_BINARY, to be used for 0b-prefixed
      	binary integer constants.
      
      testsuite/
      	* testsuite/gcc.dg/binary-constants-1.c: Add test suites for
      	the 0b-prefixed binary integer constants.
      	* testsuite/gcc.dg/binary-constants-2.c: Ditto.
      	* testsuite/gcc.dg/binary-constants-3.c: Ditto.
      	* testsuite/gcc.dg/binary-constants-4.c: Ditto.
      
      From-SVN: r125346
      f7fd775f
  16. May 14, 2007
  17. May 02, 2007
    • Eric Christopher's avatar
      if-div.c: New file. · 22a8a52d
      Eric Christopher authored
      2007-05-02  Eric Christopher  <echristo@apple.com>
      
      	    * gcc.dg/cpp/if-div.c: New file.
      
      2007-05-02  Eric Christopher  <echristo@apple.com>
      
      	    * expr.c (num_div_op): Don't overflow if the result is
      	    zero.
      
      From-SVN: r124358
      22a8a52d
  18. Aug 14, 2006
    • Steve Ellcey's avatar
      re PR c++/28288 (ICE with min/max operator) · b52dbbf8
      Steve Ellcey authored
      	PR c++/28288
      	PR c++/14556
      	* operators.def: Remove <?, ?>, <?=, and >?= operators.
      	* parser.c: Remove CPP_MIN, CPP_MAX, CPP_MIN_EQ, and CPP_MAX_EQ.
      	(cp_parser_warn_min_max): Remove.
      	* include/cpplib.h: Remove <?, >?, <?=, and >?= tokens.
      	(CPP_LAST_EQ): Change.
      	(CPP_LAST_PUNCTUATOR): Change.
      	* expr.c (cpp_operator): Remove MIN and MAX.
      	(reduce): Remove CPP_MIN and CPP_MAX.
      	(num_binary_op): Ditto.
      	* lex.c (_cpp_lex_direct): Ditto.
      	(cpp_avoid_paste): Remove ? as legal symbol after > or <.
      
      From-SVN: r116140
      b52dbbf8
  19. Dec 06, 2005
    • Jon Grimm's avatar
      cpplib.h (CPP_N_DFLOAT): New. · ad6ed77e
      Jon Grimm authored
      
      	* include/cpplib.h (CPP_N_DFLOAT): New.
      	* expr.c (interpret_float_suffix): Identify df, dd, and dl
      	suffixes as decimal floating point constants.
      	(cpp_classify_number): Disallow hexadecimal DFP constants.
      
      Co-Authored-By: default avatarBen Elliston <bje@au.ibm.com>
      
      From-SVN: r108133
      ad6ed77e
  20. Jun 29, 2005
  21. May 28, 2005
    • Gabriel Dos Reis's avatar
      configure.ac: Check declarations for asprintf and vasprintf. · c3f829c1
      Gabriel Dos Reis authored
      	* configure.ac: Check declarations for asprintf and vasprintf.
      	* config.in: Regenerate.
      	* configure: Likewise.
      
      	* charset.c (conversion_loop): Use XRESIZEVEC.
      	(convert_no_conversion): Likewise.
      	(convert_using_iconv): Likewise.
      	(init_iconv_desc): Cast return value of alloca.
      	(cpp_host_to_exec_charset): Use XNEWVEC.
      	(emit_numeric_escape): Use XRESIZEVEC.
      	(cpp_interpret_string): Use XNEWVEC.
      	(cpp_interpret_string): Use XRESIZEVEC.
      	(_cpp_interpret_identifier): Cast return value of alloca.
      	(_cpp_convert_input): Use XNEWVEC and XRESIZEVEC.
      	* directives.c (glue_header_name): Use XNEWVEC and XRESIZEVEC.
      	(parse_include): Use XNEWVEC.
      	(insert_pragma_entry): Rename local variable "new" to
      	"new_entry".
      	(save_registered_pragmas): Cast return value of xmemdup.
      	(destringize_and_run): Same for alloca.
      	(parse_assertion): Likewise.
      	(do_assert): Cast allocated storage to proper type.
      	(cpp_define): Likewise.
      	(_cpp_define_builtin): Likewise.
      	(cpp_undef): Likewise.
      	(handle_assertion): Likewise.
      	(cpp_push_buffer): Rename local variable "new" to "new_buffer".
      	* expr.c (CPP_UPLUS): Cast value to type cpp_ttype.
      	(CPP_UMINUS): Likewise.
      	(struct cpp_operator): Rename from struct operator.
      	(_cpp_expand_op_stack): Use XRESIZEVEC.
      	* files.c (pch_open_file): Use XNEWVEC.
      	(pch_open_file): Use XRESIZEVEC.
      	(read_file_guts): Use XNEWVEC and XRESIZEVEC.
      	(dir_name_of_file): Use XNEWVEC.
      	(make_cpp_file): Use XCNEW.
      	(make_cpp_dir): Likewise.
      	(allocate_file_hash_entries): USE XNEWVEC.
      	(cpp_included): Cast return value of htab_find_with_hash.
      	(append_file_to_dir): Use XNEWVEC.
      	(read_filename_string): Likewise. Use XRESIZEVEC too.
      	(read_name_map): Cast return value of alloca.  Use XRESIZEVEC.
      	(remap_filename): Use XNEWVEC.
      	(struct pchf_entry): Move definition out of struct pchf_data.
      	(_cpp_save_file_entries): Use XCNEWVAR.
      	(_cpp_read_file_entries): Use XNEWVAR.
      	* identifiers.c (alloc_node): Use XOBNEW.
      	* init.c (cpp_create_reader): Use XCNEW.
      	(cpp_init_builtins): Cast of b->value to enum builtin_type.
      	(read_original_directory): Cast return value of alloca.
      	* lex.c (add_line_note): Use XRESIZEVEC.
      	(warn_about_normalization): Use XNEWVEC.
      	(_cpp_lex_direct): Cast node->directive_index to (enum cpp_ttype).
      	(new_buff): Use XNEWVEC.
      	* line-map.c (linemap_add): Use XRESIZEVEC.
      	* macro.c (builtin_macro): Cast return value of alloca.
      	(paste_tokens): Likewise.
      	(expand_arg): Use XNEWVEC and XRESIZEVEC.
      	(_cpp_save_parameter): Use XRESIZEVEC.
      	(create_iso_definition): Cast allocated storage to proper type.
      	(_cpp_create_definition): Likewise.
      	(cpp_macro_definition): Use XRESIZEVEC.
      	* makedepend.c (add_clm): Use XNEW.
      	(add_dir): Likewise.
      	* mkdeps.c (munge): Use XNEWVEC.
      	(deps_init): Use XCNEW.
      	(deps_add_target): Use XRESIZEVEC.
      	(deps_add_default_target): Cast return value of alloca.
      	(deps_add_dep): Use XRESIZEVEC.
      	(deps_add_vpath): Likewise.  Use XNEWVEC too.
      	(deps_restore): Likewise.
      	* pch.c (save_idents): Use XNEW and XNEWVEC.
      	(cpp_save_state): Use XNEW.
      	(count_defs): Cast return value of htab_find.
      	(write_defs): Likewise.
      	(cpp_write_pch_deps): Use XNEWVEC.
      	(collect_ht_nodes): Use XRESIZEVEC.
      	(cpp_valid_state): Use XNEWVEC.
      	(save_macros): Use XRESIZEVEC.  Cast return value of xmemdup.
      	* symtab.c (ht_create): Use XCNEW.
      	(ht_lookup_with_hash): Cast return value of obstack_copy0.
      	(ht_expand): Use XCNEWVEC.
      	* system.h (HAVE_DESIGNATED_INITIALIZERS): False if __cplusplus.
      	(bool): Do not define if __cplusplus.
      
      From-SVN: r100295
      c3f829c1
  22. Jul 04, 2004
    • Neil Booth's avatar
      re PR preprocessor/16192 (Bug in expression evaluation when operand is missing) · a09d4744
      Neil Booth authored
      	* doc/cpp.texi: Don't document what we do for ill-formed expressions.
      	* 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.
      
      From-SVN: r84080
      a09d4744
  23. May 24, 2004
    • Paolo Bonzini's avatar
      Makefile.def (host_modules): add libcpp. · 4f4e53dd
      Paolo Bonzini authored
      ChangeLog:
      
      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.
      
      From-SVN: r82199
      4f4e53dd
  24. May 13, 2004
  25. Mar 15, 2004
    • Kazu Hirata's avatar
      c-incpath.c, [...]: Update copyright. · ca2b05ba
      Kazu Hirata authored
      gcc/
      	* 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.
      
      From-SVN: r79506
      ca2b05ba
  26. Feb 11, 2004
  27. Nov 01, 2003
    • John David Anglin's avatar
      re PR preprocessor/12847 (xxx.c:1:20: xxxx.h: No such file or directory) · 0527bc4e
      John David Anglin authored
      	PR preprocessor/12847
      	* 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_".
      
      From-SVN: r73183
      0527bc4e
  28. Aug 03, 2003
  29. Jul 19, 2003
    • Kaveh R. Ghazi's avatar
      alias.c [...]: Remove unnecessary casts. · 703ad42b
      Kaveh R. Ghazi authored
      	* alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
      	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.
      
      From-SVN: r69587
      703ad42b
  30. Jul 13, 2003
    • Zack Weinberg's avatar
      Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H). · 43839642
      Zack Weinberg authored
      	* Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
      	(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.
      
      From-SVN: r69298
      43839642
  31. Jun 17, 2003
    • Zack Weinberg's avatar
      * cpplib.h, cpphash.h, cppcharset.c, cpperror.c, cppexp.c · 6cf87ca4
      Zack Weinberg authored
      	* cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c
      	* cppmacro.c, cpppch.c, cpptrad.c, cppspec.c: Convert to
      	ISO C: new-style function declarations, no need for PARAMS,
      	no special punctuation on indirect function calls, use string
      	constant concatenation where convenient.
      
      From-SVN: r68070
      6cf87ca4
  32. Apr 22, 2003
    • Neil Booth's avatar
      c-lex.c (c_lex): Handle CPP_OTHER differently. · 1067694a
      Neil Booth authored
      	* c-lex.c (c_lex): Handle CPP_OTHER differently.
      	* 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.
      
      From-SVN: r65951
      1067694a
  33. Apr 19, 2003
  34. Mar 31, 2003
  35. Dec 19, 2002
    • Kazu Hirata's avatar
      ChangeLog: Follow spelling conventions. · 272d0bee
      Kazu Hirata authored
      	* ChangeLog: Follow spelling conventions.
      	* 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.
      
      From-SVN: r60281
      272d0bee
  36. Dec 16, 2002
  37. Nov 29, 2002
Loading