Skip to content
Snippets Groups Projects
  1. Oct 26, 2011
    • Ed Smith-Rowland's avatar
      Implement C++11 user-defined literals. · 3ce4f9e4
      Ed Smith-Rowland authored
      libcpp/
      	* expr.c: (cpp_interpret_float_suffix, cpp_interpret_int_suffix,
      	cpp_userdef_string_remove_type, cpp_userdef_string_add_type,
      	cpp_userdef_char_remove_type, cpp_userdef_char_add_type,
      	cpp_userdef_string_p, cpp_userdef_char_p, cpp_get_userdef_suffix): New.
      	(cpp_classify_number): Classify unrecognized tokens as user-defined
      	literals.
      	* include/cpplib.h: Add new tokens for user-defined literals.
      	* init.c: Add new preprocessor flag (cxx11).
      	* lex.c: (lex_string, lex_raw_string): Handle user-defined literals
      	including concatenation and promotion with suffixes.
      c-family/
      	* c-common.c (build_userdef_literal): New.
      	* c-common.def: New tree code.
      	* c-common.h (tree_userdef_literal): New tree struct and accessors.
      	* c-lex.c (interpret_float): Add suffix parm.
      	(c_lex_with_flags): Build literal tokens.
      cp/
      	* cp-objcp-common.c: (cp_tree_size) Return size of USERDEF_LITERAL tree.
      	* cp-tree.h: (UDLIT_OP_*, UDLIT_OPER_P): Literal operator
      	name tools. New tree code for user-defined literals.
      	* cxx-pretty-print.h: (pp_cxx_userdef_literal) New.
      	* cxx-pretty-print.c: (pp_cxx_userdef_literal) New.
      	(pp_cxx_primary_expression, pp_cxx_expression): Use it.
      	* decl.c: (cp_tree_node_structure): Return new tree code.
      	(duplicate_decls): Check for raw vs. template operator conflicts.
      	(grokfndecl, grokdeclarator): New checks for literal operators.
      	* error.c: (dump_expr): Warn about user-defined literals
      	in C++98 mode. (dump_function_name): Pretty printing.
      	* mangle.c: (write_literal_operator_name): New.
      	(write_unqualified_id, write_unqualified_name): Use it.
      	* parser.c: (cp_parser_operator): Handle operator"".
      	(cp_parser_userdef_char_literal, cp_parser_userdef_numeric_literal,
      	cp_parser_userdef_string_literal): New.
      	(cp_parser_primary_expression): Handle new user-defined literal tokens
      	with new functions.
      	* semantics.c: (potential_constant_expression_1): Add
      	user-defined literals.
      	* typeck.c (check_raw_literal_operator,
      	check_literal_operator_args): New.
      
      From-SVN: r180536
      3ce4f9e4
  2. Mar 21, 2011
  3. Sep 29, 2010
    • Joseph Myers's avatar
      optc-gen.awk: Generate global_options initializer instead of individual variables. · e3339d0f
      Joseph Myers authored
      gcc:
      	* optc-gen.awk: Generate global_options initializer instead of
      	individual variables.  Add x_ prefix to names of structure
      	members.
      	* opth-gen.awk: Generate gcc_options structure.  Add x_ prefix to
      	names of structure members.
      	* doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
      	HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
      	* doc/tm.texi: Regenerate.
      	* alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
      	* builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
      	* c-parser.c (disable_extension_diagnostics,
      	restore_extension_diagnostics): Update names of cpp_options
      	members.
      	* combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
      	* common.opt (fcompare-debug-second): Don't use Var.
      	* config/alpha/alpha.h (target_flags): Remove.
      	* config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
      	HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
      	* config/bfin/bfin.h (target_flags): Remove.
      	* config/cris/cris.h (target_flags): Remove.
      	* config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
      	cl_target_option members.
      	* config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
      	(ix86_function_specific_print, ix86_valid_target_attribute_tree,
      	ix86_can_inline_p): Update names of cl_target_option members.
      	* config/i386/i386.h (ix86_isa_flags): Remove.
      	* config/lm32/lm32.h (target_flags): Remove.
      	* config/mcore/mcore.h (mcore_stack_increment): Remove.
      	* config/mcore/mcore.md (addsi3): Remove extern declaration of
      	flag_omit_frame_pointer.
      	* config/mep/mep.h (target_flags): Remove.
      	* config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
      	HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
      	* config/mmix/mmix.h (target_flags): Remove.
      	* config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
      	flag_expensive_optimizations): Remove.
      	* config/s390/s390.h (flag_pic): Remove.
      	* config/score/score-conv.h (target_flags): Remove.
      	* config/sh/sh.h (sh_fixed_range_str): Remove.
      	* config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
      	* dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
      	* df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
      	* diagnostic.c (diagnostic_initialize): Update names of
      	diagnostic_context members.
      	* diagnostic.h (diagnostic_context): Rename inhibit_warnings and
      	warn_system_headers.
      	(diagnostic_report_warnings_p): Update for new names.
      	* dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
      	* emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
      	HARD_FRAME_POINTER_IS_ARG_POINTER.
      	* flags.h (flag_compare_debug): Declare.
      	* ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
      	* opts.c (flag_compare_debug): Define.
      	(common_handle_option): Update names of diagnostic_context
      	members.  Handle -fcompare-debug-second.
      	(fast_math_flags_struct_set_p): Update names of cl_optimization
      	members.
      	* reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
      	* regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
      	* reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
      	* reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
      	* resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
      	* rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
      	HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
      	* sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
      	* stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
      
      gcc/c-family:
      	* c-common.c (c_cpp_error): Update names of diagnostic_context
      	members.
      	* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
      	cl_optimization members.
      	* c-opts.c (warning_as_error_callback, c_common_handle_option,
      	sanitize_cpp_opts, finish_options): Update names of cpp_options
      	members.
      
      gcc/fortran:
      	* cpp.c (cpp_define_builtins): Update names of gfc_option_t
      	members.
      	(gfc_cpp_post_options): Update names of cpp_options members.
      	(cb_cpp_error): Update names of diagnostic_context members.
      	* f95-lang.c (gfc_init_builtin_functions): Update names of
      	gfc_option_t members.
      	* gfortran.h (gfc_option_t): Rename warn_conversion and
      	flag_openmp.
      	* intrinsic.c (gfc_convert_type_warn): Update names of
      	gfc_option_t members.
      	* options.c (gfc_init_options, gfc_post_options, set_Wall,
      	gfc_handle_option): Update names of gfc_option_t members.
      	* parse.c (next_free, next_fixed): Update names of gfc_option_t
      	members.
      	* scanner.c (pedantic): Remove extern declaration.
      	(skip_free_comments, skip_fixed_comments, include_line): Update
      	names of gfc_option_t members.
      	* trans-decl.c (gfc_generate_function_code): Update names of
      	gfc_option_t members.
      
      gcc/java:
      	* java-tree.h (flag_filelist_file, flag_assert, flag_jni,
      	flag_force_classes_archive_check, flag_redundant, flag_newer,
      	flag_use_divide_subroutine, flag_use_atomic_builtins,
      	flag_use_boehm_gc, flag_hash_synchronization,
      	flag_check_references, flag_optimize_sci, flag_indirect_classes,
      	flag_indirect_dispatch, flag_store_check,
      	flag_reduced_reflection): Remove.
      	* jcf-dump.c (flag_newer): Remove.
      	* jcf.h (quiet_flag): Remove.
      	* parse.h (quiet_flag): Remove.
      
      libcpp:
      	* include/cpplib.h (cpp_options): Rename warn_deprecated,
      	warn_traditional, warn_long_long and pedantic.
      	* directives.c (directive_diagnostics, _cpp_handle_directive):
      	Update names of cpp_options members.
      	* expr.c (cpp_classify_number, eval_token): Update names of
      	cpp_options members.
      	* init.c (cpp_create_reader, post_options): Update names of
      	cpp_options members.
      	* internal.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Update names of
      	cpp_options members.
      	* macro.c (parse_params): Update names of cpp_options members.
      
      From-SVN: r164723
      e3339d0f
  4. Aug 31, 2010
  5. Apr 07, 2010
    • Simon Baldwin's avatar
      diagnostic.h (diagnostic_override_option_index): New macro to set a diagnostic's option_index. · 87cf0651
      Simon Baldwin authored
      	* diagnostic.h (diagnostic_override_option_index): New macro to
      	set a diagnostic's option_index.
      	* c-tree.h (c_cpp_error): Add warning reason argument.
      	* opts.c (_warning_as_error_callback): New.
      	(register_warning_as_error_callback): Store callback for
      	warnings enabled via enable_warning_as_error.
      	(enable_warning_as_error): Call callback, minor code tidy.
      	* opts.h (register_warning_as_error_callback): Declare.
      	* c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
      	response to -Werror=.
      	(c_common_init_options): Register warning_as_error_callback in opts.c.
      	* common.opt: Add -Wno-cpp option.
      	* c-common.c (struct reason_option_codes_t): Map cpp warning
      	reason codes to gcc option indexes.
      	* (c_option_controlling_cpp_error): New function, lookup the gcc
      	option index for a cpp warning reason code.
      	* (c_cpp_error): Add warning reason argument, call
      	c_option_controlling_cpp_error for diagnostic_override_option_index.
      	* doc/invoke.texi: Document -Wno-cpp.
      
      	* cpp.c (cb_cpp_error): Add warning reason argument, set a value
      	for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
      
      	* directives.c (do_diagnostic): Add warning reason argument,
      	call appropriate error reporting function for code.
      	(directive_diagnostics): Call specific warning functions with
      	warning reason where appropriate.
      	(do_error, do_warning, do_pragma_dependency): Add warning reason
      	argument to do_diagnostic calls.
      	* macro.c (_cpp_warn_if_unused_macro, enter_macro_context,
      	_cpp_create_definition): Call specific warning functions with
              warning reason where appropriate.
      	* Makefile.in: Add new diagnostic functions to gettext translations.
      	* include/cpplib.h (struct cpp_callbacks): Add warning reason code
      	to error callback.
      	(CPP_DL_WARNING, CPP_DL_WARNING_SYSHDR, CPP_DL_PEDWARN, CPP_DL_ERROR,
      	CPP_DL_ICE, CPP_DL_NOTE, CPP_DL_FATAL): Replace macros with enums.
      	(CPP_W_NONE, CPP_W_DEPRECATED, CPP_W_COMMENTS,
      	CPP_W_MISSING_INCLUDE_DIRS, CPP_W_TRIGRAPHS, CPP_W_MULTICHAR,
      	CPP_W_TRADITIONAL, CPP_W_LONG_LONG, CPP_W_ENDIF_LABELS,
      	CPP_W_NUM_SIGN_CHANGE, CPP_W_VARIADIC_MACROS,
      	CPP_W_BUILTIN_MACRO_REDEFINED, CPP_W_DOLLARS, CPP_W_UNDEF,
      	CPP_W_UNUSED_MACROS, CPP_W_CXX_OPERATOR_NAMES, CPP_W_NORMALIZE,
      	CPP_W_INVALID_PCH, CPP_W_WARNING_DIRECTIVE): New enums for cpp
      	warning reason codes.
      	(cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
      	cpp_warning_with_line, cpp_pedwarning_with_line,
      	cpp_warning_with_line_syshdr): New specific error reporting functions.
      	* pch.c (cpp_valid_state): Call specific warning functions with
              warning reason where appropriate.
      	* errors.c (cpp_diagnostic, cpp_diagnostic_with_line): New central
      	diagnostic handlers.
      	(cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
      	cpp_warning_with_line, cpp_pedwarning_with_line,
      	cpp_warning_with_line_syshdr): New specific error reporting functions.
      	* expr.c (cpp_classify_number, eval_token, num_unary_op): Call
      	specific warning functions with warning reason where appropriate.
      	* lex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
      	warn_about_normalization, lex_identifier_intern, lex_identifier,
      	_cpp_lex_direct): Ditto.
      	* charset.c (_cpp_valid_ucn, convert_hex, convert_escape,
      	narrow_str_to_charconst): Ditto.
      
      	* gcc.dg/cpp/warn-undef-2.c: New.
      	* gcc.dg/cpp/warn-traditional-2.c: New.
      	* gcc.dg/cpp/warn-comments-2.c: New.
      	* gcc.dg/cpp/warning-directive-1.c: New.
      	* gcc.dg/cpp/warn-long-long.c: New.
      	* gcc.dg/cpp/warn-traditional.c: New.
      	* gcc.dg/cpp/warn-variadic-2.c: New.
      	* gcc.dg/cpp/warn-undef.c: New.
      	* gcc.dg/cpp/warn-normalized-1.c: New.
      	* gcc.dg/cpp/warning-directive-2.c: New.
      	* gcc.dg/cpp/warn-long-long-2.c: New.
      	* gcc.dg/cpp/warn-variadic.c: New.
      	* gcc.dg/cpp/warn-normalized-2.c: New.
      	* gcc.dg/cpp/warning-directive-3.c: New.
      	* gcc.dg/cpp/warn-deprecated-2.c: New.
      	* gcc.dg/cpp/warn-trigraphs-1.c: New.
      	* gcc.dg/cpp/warn-multichar-2.c: New.
      	* gcc.dg/cpp/warn-normalized-3.c: New.
      	* gcc.dg/cpp/warning-directive-4.c: New.
      	* gcc.dg/cpp/warn-unused-macros.c: New.
      	* gcc.dg/cpp/warn-trigraphs-2.c: New.
      	* gcc.dg/cpp/warn-cxx-compat-2.c: New.
      	* gcc.dg/cpp/warn-cxx-compat.c: New.
      	* gcc.dg/cpp/warn-redefined.c: New.
      	* gcc.dg/cpp/warn-trigraphs-3.c: New.
      	* gcc.dg/cpp/warn-unused-macros-2.c: New.
      	* gcc.dg/cpp/warn-deprecated.c: New.
      	* gcc.dg/cpp/warn-trigraphs-4.c: New.
      	* gcc.dg/cpp/warn-redefined-2.c: New.
      	* gcc.dg/cpp/warn-comments.c: New.
      	* gcc.dg/cpp/warn-multichar.c: New.
      	* g++.dg/cpp/warning-directive-1.C: New.
      	* g++.dg/cpp/warning-directive-2.C: New.
      	* g++.dg/cpp/warning-directive-3.C: New.
      	* g++.dg/cpp/warning-directive-4.C: New.
      	* gfortran.dg/warning-directive-1.F90: New.
      	* gfortran.dg/warning-directive-3.F90: New.
      	* gfortran.dg/warning-directive-2.F90: New.
      	* gfortran.dg/warning-directive-4.F90: New.
      
      From-SVN: r158079
      87cf0651
  6. Jan 01, 2010
  7. Jun 18, 2009
  8. 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
  9. Apr 25, 2009
  10. 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
  11. Apr 09, 2009
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. May 14, 2007
  23. 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
  24. 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
  25. 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
  26. Jun 29, 2005
  27. 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
  28. 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
  29. 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
  30. May 13, 2004
  31. 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
  32. Feb 11, 2004
  33. 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
  34. Aug 03, 2003
  35. 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
  36. 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
  37. 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
Loading