This was approved for 3.4 BIB branch. But since it is dead now, I am putting
this in mainline sources.
2002-12-19 Devang Patel <dpatel@apple.com>
* gcc.c (struct default_compiler): Recognizes input file name with
.CPP extension as C++ source files
* cp/lang-spec.h: Same
* doc/invoke.texi: Add documentation for .CPP support.
From-SVN: r60330
* gcc.c (The Specs Language): Document spec functions.
(static_spec_functions, lookup_spec_function)
(eval_spec_function, handle_spec_function)
(if_exists_spec_function, alloc_args): New.
(execute): Abort if processing_spec_function is true.
(do_spec_1): Hand off spec to handle_spec_function if %:
is encountered. If processing_spec_function is true,
end any pending argument when the end of the string is reached.
(main): Use alloc_args to allocate the initial argument vector.
* gcc.h (struct spec_function): New.
(lang_specific_spec_functions): New extern.
* config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
(ENDFILE_SPEC): Add if-exists(crtn%O%s).
* config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
* doc/invoke.texi: Document spec functions.
* cppspec.c (lang_specific_spec_functions): New.
* gccspec.c: Likewise.
* g++spec.c (lang_specific_spec_functions): New.
* g77spec.c (lang_specific_spec_functions): New.
* jvspec.c (lang_specific_spec_functions): New.
From-SVN: r59241
* doc/tm.texi (DRIVER_SELF_SPECS): Document.
* gcc.c (driver_self_specs): New variable.
(do_self_spec): New function.
(main): Use it to process driver_self_specs.
From-SVN: r58109
* gcc.c (set_multilib_dir): Don't access *end.
Use memcpy instead of strncpy. Don't write beyond malloced buffer.
(print_multilib_info): Don't show paths starting with ".:".
* genmultilib: Add new option, "yes" if multilibs are enabled.
Update comments. If multilibs not enabled, print .:${osdirout}
for each directory. If multilibs are enabled, always print
${dirout}:${osdirout}, even if the two are the same.
* Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
Pass all MULTILIB_* variables to genmultilib even if
--disable-multilib but MULTILIB_OSDIRNAMES is not empty.
From-SVN: r57846
* 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
* c-common.c (cb_register_builtins): If C++, define
__EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
* gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
cp:
* lang-specs.h: Simplify in accordance with new code in
c-common.c.
From-SVN: r55924
gcc/
* gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
gcc/cp/
* lang-specs.h: Remove __GXX_ABI_VERSION, moved to gcc.c.
From-SVN: r55880
* cppexp.c (cpp_interpret_integer): Don't force traditional
numbers to be unsigned.
* cpplib.c (prepare_directive_trad): Set line number for
diagnostics.
* cpptrad.c (scan_out_logical_line): Continue scanning out
at start of buffer.
* gcc.c (trad_capable_cpp): Use cc1 always.
f:
* lang-specs.h: Use cc1 for traditional preprocessing.
testsuite:
* gcc.dg/cpp/assert_trad1.c, gcc.dg/cpp/assert_trad2.c,
gcc.dg/cpp/assert_trad3.c, gcc.dg/cpp/defined_trad.c,
gcc.dg/cpp/hash2.c, gcc.dg/cpp/tr-define.c, gcc.dg/cpp/tr-direct.c,
gcc.dg/cpp/tr-sign.c, gcc.dg/cpp/tr-str.c, gcc.dg/cpp/uchar-2.c:
Remove.
From-SVN: r54856
* c-common.c (cb_register_builtins): Handle more built-ins
here rather than in gcc.c specs.
* gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
(cpp_options): Pass -O flags even when only preprocessing.
* toplev.c (set_fast_math_flags): New prototype.
(fast_math_flags_set_p): New.
(set_no_fast_math_flags): Remove.
(decode_f_option): Update.
* toplev.h (set_fast_math_flags): Update.
(fast_math_flags_set_p): New.
(set_no_fast_math_flags): Remove.
config:
* c4x/c4x.c (c4x_override_options): Update.
From-SVN: r53526
* c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
(c_common_nodes_and_builtins): Use it.
(builtin_define_with_value): New function.
(cb_register_builtins): Define __SIZE_TYPE__,
__PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
using builtin_define_with_value. Use consistent notation when
defining __GXX_WEAK__.
(WCHAR_TYPE_SIZE): Don't redefine.
(combine_strings): Don't use WCHAR_TYPE_SIZE.
* cppdefault.h: Don't provide defaults for SIZE_TYPE,
PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
* cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
* tradcpp.c (initialize_builtins): Likewise.
* gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
* c-lex.h (builtin_define_with_value): Prototype.
* system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
* doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
* config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
config/sparc/linux64.h, config/sparc/netbsd-elf.h,
config/sparc/sol2-bi.h, config/sparc/sparc.h:
Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
to __SIZE_TYPE__ etc from all spec strings. When this makes
extra specs empty, delete them.
From-SVN: r53472
* gcc.c (cpp_options): Must pass -m* and -f* options
to the front end even when only preprocessing.
(cc1_options): Remove redundant -lang-c.
* tradcpp.c (main): Ignore -m options.
cp:
* lang-specs.h: Remove redundant -lang-c++.
objc:
* lang-specs.h: Similarly.
From-SVN: r53460
2002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
* gcc.c (read_specs): Detect and fail if an attempt is made to
rename a spec string to an already existing string.
From-SVN: r52426
* cppinit.c (cpp_create_reader): Initialize
discard_comments_in_macro_exp.
(COMMAND_LINE_OPTIONS): Add "-CC" option.
(cpp_handle_option): Handle "-CC" option.
* cpplex.c (save_comment): If saving a C++ comment in
a directive, convert it to a C comment.
(_cpp_lex_direct): Pass second comment start character to
save_comment to indicate comment type.
* cpplib.c (_cpp_handle_directive): If processing
a "#define" directive and discard_comments_in_macro_exp
is false, re-enable saving of comments.
(lex_macro_node): If discard_comments_in_macro_exp is false,
discard any comments before the macro identifier.
* cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
member.
* cppmacro.c (cpp_get_token): If expanding a macro while
processing a directive, discard any comments we might encounter.
(parse_params): If discard_comments_in_macro_exp is false,
ignore comments in the macro parameter list.
* gcc.c (cpp_unique_options): Add "-CC" option.
(option_map): Map "--comments-in-macros" to "-CC".
* doc/cppopts.texi: Document "-CC" option.
* f/lang-specs.h: Add "-CC" option.
* testsuite/gcc.dg/cpp/maccom1.c: New test.
* testsuite/gcc.dg/cpp/maccom2.c: New test.
* testsuite/gcc.dg/cpp/maccom3.c: New test.
* testsuite/gcc.dg/cpp/maccom4.c: New test.
* testsuite/gcc.dg/cpp/maccom5.c: New test.
* testsuite/gcc.dg/cpp/maccom6.c: New test.
From-SVN: r51975
2002-04-03 David S. Miller <davem@redhat.com>
* gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
one-character spec for this, just use %(link_gcc_c_sequence).
From-SVN: r51842
2002-04-03 David S. Miller <davem@redhat.com>
* gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
library sequence passed to the linker.
(LINK_COMMAND_SPEC): Use it.
* doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
* config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
From-SVN: r51834