This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Patch for bug 25524 (-imultilib)
- From: Adam Nemet <anemet at sonic dot net>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org, Mark Mitchell <mark at codesourcery dot com>
- Date: Sat, 21 Jan 2006 23:26:46 -0800
- Subject: Re: Patch for bug 25524 (-imultilib)
- References: <Pine.LNX.4.64.0601192244510.20652@digraph.polyomino.org.uk>
"Joseph S. Myers" <joseph@codesourcery.com> writes:
> 2006-01-19 Joseph S. Myers <joseph@codesourcery.com>
>
> PR libstdc++/25524
> * cppdefault.h (struct default_include): Add multilib flag.
> * cppdefault.c (cpp_include_defaults): Set it
> * c.opt (-imultilib): New option.
> * c-opts.c (imultilib): New.
> (c_common_handle_option): Handle -imultilib.
> (c_common_post_options): Likewise.
> * c-incpath.c (add_standard_paths, register_include_chains):
> Likewise.
> * c-incpath.h (register_include_chains): Add extra parameter.
> * gcc.c (do_spec_1): Generate -imultilib option.
> (The Specs Language): Update %I description.
> (process_command): Update copyright notice.
> * doc/cppopts.texi (-imultilib): Document.
> * doc/invoke.texi (-imultilib): Include in option summary
> (%I): Update specs documentation.
Joseph,
I think you forgot to update fix-header.c. This breaks fixproto
targets. The change below fixes the problem for me on mips64-elf.
Would it be OK to install? I am not quite sure whether passing in
NULL is correct.
Adam
* fix-header.c (read_scan_file): Add new parameter imultilib
when calling register_include_chains.
Index: /home/anemet/src/gcc/src/gcc/fix-header.c
===================================================================
--- /home/anemet/src/gcc/src/gcc/fix-header.c (revision 110073)
+++ /home/anemet/src/gcc/src/gcc/fix-header.c (working copy)
@@ -666,8 +666,8 @@ read_scan_file (char *in_fname, int argc
exit (FATAL_EXIT_CODE);
register_include_chains (scan_in, NULL /* sysroot */, NULL /* iprefix */,
- true /* stdinc */, false /* cxx_stdinc */,
- false /* verbose */);
+ NULL /* imultilib */, true /* stdinc */,
+ false /* cxx_stdinc */, false /* verbose */);
/* We are scanning a system header, so mark it as such. */
cpp_make_system_header (scan_in, 1, 0);