aboutsummaryrefslogtreecommitdiff
path: root/gcc/cppinit.c
AgeCommit message (Collapse)AuthorFilesLines
2003-03-20Various cleanups to help compile server.Per Bothner1-8/+5
* cppinit.c (cpp_create_reader): Take extra hash_table* argument, and pass that to _cpp_init_hashtable. (cpp_read_main_file): Drop hash_table* argument; don't call _cpp_init_hashtable. * cpplib.h: Update declarations to match. * c-opts.c (c_common_init_options): Pass ident_hash to cpp_create_reader. (c_common_post_options): Don't pass ident_hash to cpp_read_main_file. * fix-header.c (read_scan_file): Likewise pass NULL table to cpp_create_reader rather than cpp_read_main_file. * cppfiles.c (cpp_rename_file): Generalized and renamed to cpp_change_file. * cpplib.h: Update declaration to match. * c-opts.c (push_command_line_line, finish_options): Change cpp_rename_file calls to cpp_change_file. From-SVN: r64617
2003-03-15Makefile.in: Update.Neil Booth1-309/+5
* Makefile.in: Update. * c-common.h (cb_register_builtins): Rename c_cpp_builtins. * c-lex.c (init_c_lex): Register builtins hook is dead. * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U. (c_common_decode_option): Don't call cpp_handle_option. Handle -A, -D and -U. (handle_deferred_opts): Simplify. (finish_options): Define builtins and command line macros. * c-ppoutput.c (init_pp_output): Register builtins hook is dead. * cppinit.c: Don't include intl.h. (init_builtins): Rename cpp_init_builtins. No hook to call. (init_library): Don't need to sort options. (cpp_create_reader): Don't set pending. (cpp_destroy): Don't free pending. (struct pending_option, cl_directive_handler, struct cpp_pending, APPEND, free_chain, new_pending_directive, parse_option, opt_comp, cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option, cl_options, cpp_handle_option): Remove. * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option, cpp_finish_options): Remove. (cpp_init_builtins): New. * fix-header.c (read_scan_file): Update to handle -D. Fix handling of -I. Replace call to cpp_finish_options. cp: * Make-lang.in: Update. From-SVN: r64398
2003-03-14c-opts.c (finish_options): New.Neil Booth1-21/+0
* c-opts.c (finish_options): New. (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros. (missing_arg): Handle OPT_include and OPT_imacros. (c_common_init, c_common_parse_file): Use finish_options. (handle_deferred_opts): Update. * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail. (cpp_finish_options): Don't handle -imacros here. (no_fil): Remove. (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros. From-SVN: r64378
2003-03-14/home/neil/diffs/include.logNeil Booth1-40/+2
From-SVN: r64373
2003-03-12cppfiles.c (cpp_rename_file, [...]): New.Neil Booth1-28/+6
* cppfiles.c (cpp_rename_file, cpp_push_include): New. * cppinit.c (push_include): Move with changes to cppfiles.c. (cpp_read_main_file): Mark named operators here... (cpp_finish_options): ...not here. Update. (_cpp_maybe_push_include_file): Update. * cpplib.h (cpp_push_include, cpp_rename_file): New. From-SVN: r64266
2003-03-08cppinit.c (cpp_finish_options): Set first_unused_line to -1.Neil Booth1-0/+2
* cppinit.c (cpp_finish_options): Set first_unused_line to -1. testsuite: * gcc.dg/cpp/Wunused.c: Update test. From-SVN: r63985
2003-03-06Makefile.in (c-ppoutput.o): Update.Neil Booth1-0/+2
* Makefile.in (c-ppoutput.o): Update. * c-common.h (init_pp_output): New. (preprocess_file): Update. * c-lex.c (init_c_lex): Move mbchar initialization to cpplib. Register builtins. * c-opts.c (c_common_init): Call init_pp_output if preprocessing. Make call to cpp_read_main_file common to whether preprocessing or not. Don't register builtins. * c-ppoutput.c: Include c-pragma.h. (setup_callbacks): Rename init_pp_output. (preprocess_file): No longer setup callbacks or call cpp_read_main_file. * cpphash.h (_cpp_init_mbchar): New. * cppinit.c (init_library): Call _cpp_init_mbchar. * cpplex.c (_cpp_init_mbchar): New. From-SVN: r63913
2003-03-01Makefile.in (C_AND_OBJC_OBJS, [...]): Update.Neil Booth1-528/+2
* Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS, cppinit.o, cppdefault.o, fix-header): Update. * c-incpath.c: New file. * c-incpath.h: New file. * c-lex.c: Include c-incpath.h. (init_c_lex): Register path simplifier. * c-opts.c: Include cppdefault.h and c-incpath.h. (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc, std_cxx_inc, quote_chain_split, add_prefixed_path): New. (COMMAND_LINE_OPTIONS): Add more options from cpplib. (missing_arg, c_common_decode_option): Handle them. (c_common_post_options): Register include chains. (print_help): Update. * cppdefault.h (struct default include): Update. Move some macros to ... * cppdefault.c: ... here. (cpp_include_defaults): Add extra field add_sysroot. * cppfiles.c (include_file, search_from, find_or_create_entry, cpp_included, find_include_file, remap_filename): Update for renaming of search_path to cpp_path, and of the chain headers. (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c. * cpphash.h (struct search_path): Move to cpplib.h. (struct cpp_buffer, struct cpp_reader): Update. (_cpp_simplify_pathname): Remove. * cppinit.c: Don't include prefix.h and cppdefault.h. (INO_T_EQ, INO_T_COPY, path_include, append_include_chain, remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs, init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir, no_pth, cpp_handle_options): Remove. (struct pending_option): Remove chain members. (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS, cpp_handle_option): Update. * cpplib.h (struct cpp_path, cpp_set_include_chains): New. (struct cpp_options): Remove quote_include, bracket_include, include_prefix, include_prefix_len, verbose, ignore_srcdir, no_standard_includes, no_standard_cplusplus_includes. (struct cpp_callbacks): Add simplify_path. (cpp_handle_options): Remove. * fix-header.c: Include c-incpath.h. (read_scan_file): Update to use c-incpath functionality. * doc/passes.texi: Update. cp: * Make-lang.in (CXX_C_OBJS): Update. From-SVN: r63612
2003-02-13Makefile.in (PREPROCESSOR_DEFINES): Add @TARGET_SYSTEM_ROOT_DEFINE@.Daniel Jacobowitz1-29/+38
* Makefile.in (PREPROCESSOR_DEFINES): Add @TARGET_SYSTEM_ROOT_DEFINE@. * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot is specified or if building a cross compiler. (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE if the sysroot is under $exec_prefix. * configure: Regenerated. * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is defined. (struct default_include): Add add_sysroot field. (cpp_SYSROOT): Declare. * cppdefault.c (cpp_include_defaults): Fill in add_sysroot field. (cpp_SYSROOT): New variable. * cppinit.c (cpp_create_reader): Initialize CPP_OPTION (pfile, sysroot). (init_standard_includes): Handle add_sysroot. Do not add unrelocated copies of relocated directories. (COMMAND_LINE_OPTIONS): Add -isysroot. (cpp_handle_option): Handle -isysroot. * cpplib.h (struct cpp_options): Add sysroot member. * gcc.c (The Specs Language): Update description of %I. (target_system_root_changed): New variable. (process_command): Conditionalize make_relative_prefix call on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set target_system_root_changed. (do_spec_1): Add -isysroot to %I. * doc/invoke.texi (Spec Files): Update description of %I. * doc/install.texi (--with-sysroot): Update comment about relocation. From-SVN: r62853
2003-01-28cpplib.h (struct cpp_options): Add warn_deprecated field.Jason Merrill1-0/+1
* cpplib.h (struct cpp_options): Add warn_deprecated field. * cppinit.c (cpp_create_reader): Turn it on by default. * c-opts.c (c_common_decode_option): Set it. * cpplib.c (do_pragma_once): Only complain about #pragma once if warn_deprecated is set. From-SVN: r62005
2002-12-16Merge basic-improvements-branch to trunkZack Weinberg1-42/+26
From-SVN: r60174
2002-10-06cppinit.c (init_standard_includes, [...]): Use strncmp.Frank Ch. Eigler1-3/+3
* cppinit.c (init_standard_includes, parse_option): Use strncmp. * c-opts.c (find_opt): Similarly. From-SVN: r57864
2002-09-22ChangeLog: Follow spelling conventions.Kazu Hirata1-2/+2
* ChangeLog: Follow spelling conventions. * 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. From-SVN: r57398
2002-09-16ABOUT-NLS: Follow spelling conventions.Kazu Hirata1-1/+1
* ABOUT-NLS: Follow spelling conventions. * 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. From-SVN: r57188
2002-09-14ChangeLog: Follow spelling conventions.Kazu Hirata1-4/+4
* ChangeLog: Follow spelling conventions. * ChangeLog.0: Likewise. * ChangeLog.2: Likewise. * ChangeLog.3: Likewise. * ChangeLog.4: Likewise. * ChangeLog.5: Likewise. * ChangeLog.6: Likewise. * cppfiles.c: Likewise. * cppinit.c: Likewise. * cpplib.h: Likewise. * cse.c: Likewise. * debug.h: Likewise. * df.c: Likewise. * dominance.c: Likewise. * hashtable.c: Likewise. * hashtable.h: Likewise. * loop.c: Likewise. * config/arm/README-interworking: Likewise. * config/arm/arm.c: Likewise. * config/arm/arm.h: Likewise. * config/arm/arm.md: Likewise. * config/dsp16xx/dsp16xx.h: Likewise. * config/frv/frv.c: Likewise. * config/frv/frv.h: Likewise. * config/ip2k/ip2k.h: Likewise. * config/rs6000/rs6000.c: Likewise. * config/stormy16/stormy-abi: Likewise. * config/stormy16/stormy16.h: Likewise. * config/v850/v850.c: Likewise. From-SVN: r57146
2002-08-21* cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.John David Anglin1-1/+7
From-SVN: r56493
2002-08-20cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal at head.John David Anglin1-33/+79
* cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal at head. (remove_dup_nonsys_dirs): New function. (remove_dup_dirs): Change argument head to head_ptr. Remove warnings. (merge_include_chains): Remove non-system include directories from quote and bracket include chains when they duplicate equivalent system directories. * doc/cpp.texi (-I): Update. * doc/cppopts.texi (-I): Update. * doc/install.texi (--with-local-prefix): Further document usage of this option. * doc/invoke.texi (-I): Update. From-SVN: r56468
2002-08-18re PR preprocessor/7602 (C++ header files found in CPLUS_INCLUDE_PATH ↵Neil Booth1-1/+1
treated as C headers) PR preprocessor/7602 * cppinit.c (path_include): Treat the system environment variables as being cxx_aware. From-SVN: r56416
2002-08-12c-opts.c (deps_seen, [...]): New.Neil Booth1-86/+22
* c-opts.c (deps_seen, deps_file, deferred_count, deferred_size, handle_deferred_opts, sanitize_cpp_opts, defer_opt, struct deferred_opt): New. (COMMAND_LINE_OPTIONS): Add -M*. (missing_arg): Update. (c_common_decode_option): Handle -M*. (c_common_post_options): Handle -M*. Use sanitize_cpp_opts; don't call cpp_post_options. (c_common_finish, check_deps_environment_vars): Update. * cppfiles.c (stack_include_file, handle_missing_header): Update. * cpphash.h (CPP_PRINT_DEPS): Remove. * cppinit.c: Don't include version.h. (cpp_create_reader): Don't call deps_init. Initialize warn_long_long. (cpp_read_main_file): Init deps if necessary. (cpp_destroy): Conditionally free deps. (cpp_finish): Update. (no_tgt): Remove. (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*. (cpp_post_options): Rename post_options. * cpplib.h (struct cpp_options): Remove some dependency options; move others to a new structure. (cpp_post_options): Remove. (cpp_finish): Comment. * fix-header.c (read_scan_file): Don't call cpp_post_options. treelang: * treelang.c: Remove cpp_post_options. From-SVN: r56239
2002-08-12c-common.c (STDC_0_IN_SYSTEM_HEADERS, [...]): Move to c-copts.c.Neil Booth1-6/+0
* c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move to c-copts.c. (warn_multichar): Die. (cb_register_builtins): Export. * c-common.h (warn_multichar, preprocess_file): Remove. (cb_register_builtins): New. * c-lang.c (c_init): Remove. (LANG_HOOKS_INIT): Use c_objc_common_init. * c-lex.c (init_c_lex): Don't canonicalize filename. * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New. (preprocess_file): Make static. Update for cpplib. (c_common_decode_option): Remove warn_multichar. Use in_fname. (c_common_post_options): Set some cpp options here. (c_common_init): Move from c-common.c. * cppinit.c (cpp_post_options): Don't canonicalize in_fname. * cpplib.h (struct cpp_options): Remove in_fname. (cpp_preprocess_file): Update. * cppmain.c (cpp_preprocess_file): Update for new prototypes. From-SVN: r56223
2002-08-11c-common.c (c_common_init): Call preprocess_file instead.Neil Booth1-125/+35
* c-common.c (c_common_init): Call preprocess_file instead. (c_common_finish): Move to c-opts.c. * c-common.h (preprocess_file): new. * c-opts.c (out_fname, out_stream, deps_append, preprocess_file, check_deps_environment_vars, c_common_finish): New. (c_common_decode_option): Update for out_fname and dependencies. * cppinit.c (init_dependency_output, output_deps): Remove. (cpp_destroy): Update prototype. (cpp_add_dependency_target): New. (cpp_read_main_file): Don't overlay a buffer. (cpp_finish): Take a deps output stream and write deps to it. Return the error count. (cpp_post_options): Don't canonicalize out_fname, or do anything with dependencies. * cpplib.h (struct cpp_options): Remove out_fname and preprocess_only. (cpp_add_dependency_target): New. (cpp_destroy, cpp_finish, cpp_preprocess_file): Update. * cppmain.c (cpp_preprocess_file): Update prototype. Don't set preprocess_only. Don't handle the output stream directly. From-SVN: r56214
2002-08-11c-common.h (enum c_language_kind): Emphasize that clk_c is 0.Neil Booth1-28/+1
* c-common.h (enum c_language_kind): Emphasize that clk_c is 0. * c-opts.c (parse_option): Rename find_opt. (set_std_c99): New function. (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad. (missing_arg): Remove OPT_std_bad. Handle -o. (c_common_decode_option): Handle input and output file names, -o and -remap. Clean up -std= handling. * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap. (cpp_handle_option): Similarly. Don't handle filenames. From-SVN: r56197
2002-08-10c-opts.c (set_std_cxx98, [...]): New.Neil Booth1-59/+4
* c-opts.c (set_std_cxx98, set_std_c89): New. (COMMAND_LINE_OPTIONS): Move more from cppinit.c. (c_common_decode_option): Handle new switches from cppinit.c. Add -std=gnu++98. * cppinit.c (set_lang): Rename cpp_set_lang. Export. (no_arg, no_num): Remove. (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang- switches apart from -lang-objc and lang-asm. (cpp_handle_option): Similarly. * cpplib.h (cpp_set_lang): New. * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98, -std=gnu++98. * objc/lang-specs.h: Remove -ansi. cp: * lang-specs.h: Remove -ansi. From-SVN: r56185
2002-08-10c-common.c (flag_objc): New.Ziemowit Laski1-4/+4
2002-08-09 Ziemowit Laski <zlaski@apple.com> * c-common.c (flag_objc): New. * c-common.h (c_language_kind): Get rid of clk_objective_c enum value. (flag_objc): New extern declaration. * c-decl.c (implicitly_declare): Call objc_check_decl instead of maybe_objc_check_decl. (finish_decl): Likewise. (grokfield): Likewise. (finish_struct): Likewise. * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl. (maybe_objc_comptypes): Rename to objc_comptypes. (maybe_building_objc_message_expr): Rename to objc_message_selector. * c-lex.c (lex_charconst): Remove uses of clk_objective_c, replace with flag_objc as needed. * c-opts.c (c_common_init_options): Likewise. (c_common_decode_option): Likewise. * c-parse.in (init_reswords): Likewise. * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl. (maybe_objc_comptypes): Rename to objc_comptypes. (maybe_building_objc_message_expr): Rename to objc_message_selector. * c-typeck.c (comptypes): Call objc_comptypes instead of maybe_objc_comptypes, and/or objc_message_selector instead of (comp_target_types): Likewise. (convert_for_assignment): Likewise. (warn_for_assignment): Likewise. * cppinit.c (init_builtins): Set __OBJC__ manifest constant independently of those for other languages. * objc/objc-act.c (maybe_objc_comptypes): Delete. (maybe_objc_check_decl): Delete. (maybe_building_objc_message_expr): Rename to objc_message_selector. * objc/objc-lang.c (objc_init_options): Use clk_c instead of clk_objective_c; set flag_objc flag. From-SVN: r56173
2002-08-09Makefile.in (c-opts.o): UpdateNeil Booth1-186/+1
* Makefile.in (c-opts.o): Update * c-opts.c: Include intl.h. (print_help): Move from cppinit.c. Remove unused options. (COMMAND_LINE_OPTIONS): Move more from cppinit.c. (missing_arg): Complain for switches without an argument. (c_common_decode_option): Reject missing joined arguments. Handle new switches from cppinit.c. * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c. (cpp_handle_option): Similarly. (print_help): Moved to c-opts.c. * cpplib.h (struct cpp_options): Remove help_only. * gcc.c (cpp_unique_options): Remove -$. * doc/cppopts.texi: Undocument -h. From-SVN: r56155
2002-08-08c-opts.c (cpp_opts): New.Neil Booth1-132/+0
* c-opts.c (cpp_opts): New. (COMMAND_LINE_OPTIONS): Add switches from cppinit.c. (c_common_decode_options): Handle cpplib switches. (c_common_init_options): Set cpp_opts. * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c. (cpp_handle_option): Similarly. From-SVN: r56119
2002-08-06cppinit.c (struct lang_flags): Rename trigraphs std.Neil Booth1-3/+4
* cppinit.c (struct lang_flags): Rename trigraphs std. (set_lang): Update. * cpplib.h (struct cpp_options): New member std. * cppmacro.c (_cpp_builtin_macro_text): Use std. (collect_args): Flag whether to swallow a possible future comma pasted with varargs. (replace_args): Use this flag. * doc/cpp.texi: Update varargs extension documentation. testsuite: * gcc.dg/cpp/vararg3.c, gcc.dg/cpp/vararg4.c: New tests. From-SVN: r56077
2002-08-02c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.Zack Weinberg1-2/+3
* c-common.c (c_common_init): -Wtraditional also implies -Wlong-long. * 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. From-SVN: r55969
2002-08-01cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.Neil Booth1-5/+0
* cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar. (cpp_handle_option): Don't handle it. (print_help): Update. * doc/cppopts.texi: Update. From-SVN: r55925
2002-07-23cppexp.c (parse_defined): Mark macro used.Neil Booth1-0/+15
* cppexp.c (parse_defined): Mark macro used. * 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. From-SVN: r55692
2002-07-21c-lex.c (GET_ENVIRONMENT): Remove.Neil Booth1-11/+5
* c-lex.c (GET_ENVIRONMENT): Remove. * collect2.c (GET_ENV_PATH_LIST): Remove. (prefix_from_env): Use GET_ENVIRONMENT. * cppinit.c (GET_ENV_PATH_LIST): Remove. (init_standard_includes): Use GET_ENVIRONMENT. * defaults.h (GET_ENVIRONMENT): Define here if not already. * gcc.c (GET_ENV_PATH_LIST): Remove. (make_relative_prefix, process_command): Update. * protoize.c (GET_ENV_PATH_LIST): Remove. (do_processing): Update. java: * jcf-path.c (GET_ENV_PATH_LIST): Remove. (jcf_path_init): Use GET_ENVIRONMENT. From-SVN: r55630
2002-07-20cppexp.c (struct op): Add token pointer.Neil Booth1-0/+1
* cppexp.c (struct op): Add token pointer. (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. From-SVN: r55611
2002-07-02cppinit.c (cpp_handle_option): Suppress warnings with an implicit "-w" for ↵Neil Booth1-14/+14
"-M" and "-MM". * cppinit.c (cpp_handle_option): Suppress warnings with an implicit "-w" for "-M" and "-MM". From-SVN: r55195
2002-06-19cpphash.h (struct cpp_reader): Make date and time strings.Neil Booth1-4/+7
* cpphash.h (struct cpp_reader): Make date and time strings. (_cpp_builtin_macro_text, _cpp_copy_replacement_text, _cpp_replacement_text_len): New. * cppinit.c (cpp_create_reader): Update. (init_builtins): Register appropriate builtins for -traditional-cpp. * cppmacro.c (new_number_token): Remove. (_cpp_builtin_macro_text): New. (builtin_macro): Use it. (cpp_macro_definition): Update to handle traditional macros. * cppmain.c (cb_line_change): Don't do column positioning for traditional output. * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New state ls_fun_close. (skip_whitespace): Fix. (maybe_start_funlike): Don't set state.parsing_args. (scan_out_logical_line): Remove duplicate error. Use lex_state rather than state.parsing_args. (push_replacement_text): Handle builtins. (_cpp_replacement_text_len, _cpp_copy_replacement_text): New. From-SVN: r54771
2002-06-11Makefile.in: Update cppmain.o.Neil Booth1-4/+5
* Makefile.in: Update cppmain.o. * cpphash.h (struct cpp_reader): Move some members to a nested structure. (trad_line): Rename saved_line. (_cpp_read_logical_line_trad): Update. (_cpp_remove_overlay): New. * cppinit.c (cpp_create_reader): No need to set saved_line. (cpp_destroy): Update. (cpp_read_main_file): Only overlay if compiling. * cpplex.c (continue_after_nul): Return false if in directive. * cpplib.c (EXPAND): New. (directive_table, SEEN_EOL): Update. (end_directive): Remove overlay if traditional; don't skip line in traditional #define. (prepare_directive_trad): New. (_cpp_handle_directive, run_directive): Update for traditional directives. (lex_macro_node): Simplify, don't use lex_identifier_trad. * cpplib.h (struct options): Add preprocess_only. * cppmain.c: Don't include intl.h. (cpp_preprocess_file): Set options->preprocess_only. (scan_translation_unit_trad): Fix, and print line numbers. * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters, maybe_start_funlike, scan_out_logical_line, replace_args_and_push, save_replacement_text, _cpp_create_trad_definition): Update for variable renaming. (_cpp_overlay_buffer): Save line number. (_cpp_remove_overlay): Rename from restore_buff, restore line. (_cpp_read_logical_line_trad): Don't handle overlays here. (scan_out_logical_line): Process directives. From-SVN: r54485
2002-06-09Makefile.in (LIBCPP_OBJS): Take out version.o.Zack Weinberg1-24/+3
* Makefile.in (LIBCPP_OBJS): Take out version.o. * cpphash.h (cpp_reader): Take out print_version member. * cppinit.c: (cpp_handle_option): Don't do anything with -version. Just set help_only for --version, --target-help. Just set verbose option for -v. (cpp_post_options): Don't print a version string. From-SVN: r54390
2002-06-07cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W options their own ↵Zack Weinberg1-59/+85
entries. * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W options their own entries. (parse_option): Clarify comment. (cpp_handle_option): Remove 'ignore' parameter and OPT_W special case. Replace if/strcmp chain for -W options with use of new OPT_* entries for them. (cpp_handle_options): Update to match. * cpplib.h: Remove last parameter to cpp_handle_option from prototype. * c-decl.c, cp/decl2.c: Update call to cpp_handle_option. From-SVN: r54352
2002-06-05cpphash.h (_cpp_create_definition): Update prototype.Neil Booth1-5/+3
* cpphash.h (_cpp_create_definition): Update prototype. (_cpp_push_text_context, _cpp_create_trad_definition): New. ( cpp_lex_identifier_trad): New. (_cpp_set_trad_context): New. * cppinit.c (cpp_finish_options): Don't conditionalize builtins. * cpplib.c (SEEN_EOL): Update. (lex_macro_node): Update for -traditional. (cpp_push_buffer, _cpp_pop_buffer): Similarly. * cppmacro.c (_cpp_create_definition): Split into create_iso_definition() and _cpp_create_trad_definition(). (warn_of_redefinition): Update prototype; handle traditional macros. (_cpp_push_text_context): New. * cpptrad.c (skip_whitespace, push_replacement_text): New. (lex_identifier): Call ht_lookup with correct start. (_cpp_lex_identifier_tradm _cpp_create_trad_definition, _cpp_set_trad_context): New. (scan_out_logical_line): Update to handle changing contexts. From-SVN: r54293
2002-06-02c-common.c (c_common_init): Override cpplib's default warn_long_long setting.Neil Booth1-0/+2
* c-common.c (c_common_init): Override cpplib's default 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. From-SVN: r54180
2002-05-31cppinit.c (append_include_chain): Always pay attention to cxx_aware when ↵Zack Weinberg1-5/+1
setting new->sysp. * cppinit.c (append_include_chain): Always pay attention to cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED marker on argument. From-SVN: r54124
2002-05-29cppexp.c (cpp_num): Move to cpplib.h.Neil Booth1-0/+3
2002-05-29 Neil Booth <neil@daikokuya.demon.co.uk> 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. Co-Authored-By: Zack Weinberg <zack@codesourcery.com> From-SVN: r54007
2002-05-27c-common.c (c_common_init): Set CPP arithmetic precision.Neil Booth1-7/+11
* c-common.c (c_common_init): Set CPP arithmetic precision. * cppexp.c (cpp_num_part): Move typedef ... * cpphash.h: ...here; make unsigned HOST_WIDE_INT. * cppinit.c (cpp_create_reader): Default to host long arithmetic. (sanity_checks): Update. testsuite: * gcc.dg/cpp/arith-2.c, gcc.dg/cpp/arith-3.c: New tests. * gcc.dg/cpp/if-3.c: Remove. From-SVN: r53911
2002-05-23cppinit.c (mark_named_operators): Split out from init_builtins.Neil Booth1-10/+22
* cppinit.c (mark_named_operators): Split out from init_builtins. (cpp_finish_options): Call it from here instead. testsuite: * gcc.dg/cpp/named_ops.c: New test. From-SVN: r53803
2002-05-23cpperror.c (_cpp_begin_message): No special casing of CPP_FATAL_LIMIT.Neil Booth1-13/+13
* cpperror.c (_cpp_begin_message): No special casing of CPP_FATAL_LIMIT. * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/. (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR. * cpplib.c (do_include_common): Use DL_ERROR. * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove. (DL_ICE): Renumber. * fix-header.c (read_scan_file): Update. From-SVN: r53765
2002-05-22cpperror.c: Fix formatting.Kazu Hirata1-16/+16
* cpperror.c: Fix formatting. * 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. From-SVN: r53751
2002-05-21c-common.c (c_common_init): Set options->unsigned_char from flag_signed_char.Zack Weinberg1-21/+4
* c-common.c (c_common_init): Set options->unsigned_char from flag_signed_char. (cb_register_builtins): Define __STRICT_ANSI__ and __CHAR_UNSIGNED__ here... * cppinit.c (init_builtins): Not here. (cpp_create_reader): unsigned_char option defaults to 0, not !DEFAULT_SIGNED_CHAR. (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char and -funsigned-char. * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__. * cpphash.c (_cpp_init_hashtable): Don't set it. * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting directly. Clarify comment. From-SVN: r53703
2002-05-21* cppinit.c (sanity_checks): Avoid printf mismatch warnings.Andreas Jaeger1-4/+6
From-SVN: r53694
2002-05-18cppinit.c (cpp_post_options): If preprocessed, turn off traditional.Neil Booth1-2/+9
* cppinit.c (cpp_post_options): If preprocessed, turn off traditional. If traditional, turn off column numbers. * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional. * cpptrad.c (handle_newline): Update line_base. (skip_comment): Handle -Wcomment. From-SVN: r53582
2002-05-18cppinit.c (struct builtin): Remove unused fields.Zack Weinberg1-60/+46
* cppinit.c (struct builtin): Remove unused fields. (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill. (operator_array): New - was second half of builtin_array. (init_builtins): Simplify loop over builtin_array/operator_array. From-SVN: r53574
2002-05-17Makefile.in: Update for cpptrad.c.Neil Booth1-4/+16
* Makefile.in: Update for cpptrad.c. * cpphash.h (struct cpp_buffer): New members for buffer overlays. (struct cpp_reader): New members for traditional output. (_cpp_read_logical_line, _cpp_overlay_buffer): New. * cppinit.c (cpp_create_reader): Set trad_line. (cpp_destroy): Free trad_out_base if used. (cpp_read_main_file): Overlay an empty buffer if traditional. (cpp_finish_options): Don't do builtins. (COMMAND_LINE_OPTIONS): Add -traditional-cpp. (cpp_handle_option): Handle it. * cpplex.c (continue_after_nul): New. (_cpp_lex_direct): Use handle_nul. * cpplib.h (struct cpp_options): New traditional option. * cpptrad.c: New file. From-SVN: r53568