From 218acd09ac13e96f4e1e3714d97ac316c32863d4 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 13 Feb 2013 23:32:18 +0100 Subject: [PATCH] 4.8.0-0.12 --- .gitignore | 1 + gcc.spec | 26 ++++- gcc48-asan-fix.patch | 31 +++++ gcc48-pr54117.patch | 263 +++++++++++++++++++++++++++++++++++++++++++ gcc48-pr56111.patch | 97 ++++++++++++++++ gcc48-pr56151.patch | 73 ------------ gcc48-pr56224.patch | 81 +++++++++++++ sources | 2 +- 8 files changed, 495 insertions(+), 79 deletions(-) create mode 100644 gcc48-asan-fix.patch create mode 100644 gcc48-pr54117.patch create mode 100644 gcc48-pr56111.patch delete mode 100644 gcc48-pr56151.patch create mode 100644 gcc48-pr56224.patch diff --git a/.gitignore b/.gitignore index e48c1d4..cee0202 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,4 @@ /gcc-4.8.0-20130206.tar.bz2 /gcc-4.8.0-20130208.tar.bz2 /gcc-4.8.0-20130211.tar.bz2 +/gcc-4.8.0-20130213.tar.bz2 diff --git a/gcc.spec b/gcc.spec index 945c3c0..d99a626 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,9 +1,9 @@ -%global DATE 20130211 -%global SVNREV 195954 +%global DATE 20130213 +%global SVNREV 196031 %global gcc_version 4.8.0 # Note, gcc_release must be integer, if you want to add suffixes to # %{release}, append them after %{gcc_release} on Release: line. -%global gcc_release 0.11 +%global gcc_release 0.12 %global _unpackaged_files_terminate_build 0 %global multilib_64_archs sparc64 ppc64 s390x x86_64 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha @@ -194,7 +194,10 @@ Patch10: gcc48-pr38757.patch Patch11: gcc48-libstdc++-docs.patch Patch12: gcc48-no-add-needed.patch Patch13: gcc48-pr55608.patch -Patch14: gcc48-pr56151.patch +Patch14: gcc48-asan-fix.patch +Patch15: gcc48-pr54117.patch +Patch16: gcc48-pr56111.patch +Patch17: gcc48-pr56224.patch Patch1000: fastjar-0.97-segfault.patch Patch1001: fastjar-0.97-len1.patch @@ -747,7 +750,10 @@ package or when debugging this package. %endif %patch12 -p0 -b .no-add-needed~ %patch13 -p0 -b .pr55608~ -%patch14 -p0 -b .pr56151~ +%patch14 -p0 -b .asan-fix~ +%patch15 -p0 -b .pr54117~ +%patch16 -p0 -b .pr56111~ +%patch17 -p0 -b .pr56224~ %if 0%{?_enable_debug_packages} cat > split-debuginfo.sh <<\EOF @@ -2971,6 +2977,16 @@ fi %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin %changelog +* Wed Feb 13 2013 Jakub Jelinek 4.8.0-0.12 +- updated from trunk + - PRs c++/55710, c++/55879, c++/55993, c++/56135, c++/56155, c++/56285, + c++/56291, c/44938, fortran/46952, fortran/56204, inline-asm/56148, + libitm/55693, lto/56295, lto/56297, middle-end/56288, + sanitizer/56128, target/52122, testsuite/56082 + - fix IRA bug that caused reload ICE on ARM (#910153, target/56184) + - attempt harder to fold "n" constrainted asm input operands in C++ + with -O0 (#910421, c++/56302) + * Mon Feb 11 2013 Jakub Jelinek 4.8.0-0.11 - updated from trunk - PRs c++/56238, c++/56247, c++/56268, fortran/55362, libstdc++/56267, diff --git a/gcc48-asan-fix.patch b/gcc48-asan-fix.patch new file mode 100644 index 0000000..dfe6f2b --- /dev/null +++ b/gcc48-asan-fix.patch @@ -0,0 +1,31 @@ +2013-02-12 Dodji Seketeli + + * asan.c (instrument_builtin_call): Really put the length of the + second source argument into src1_len. + + * c-c++-common/asan/memcmp-2.c: New test. + +--- gcc/asan.c ++++ gcc/asan.c +@@ -1764,7 +1764,7 @@ instrument_builtin_call (gimple_stmt_iterator *iter) + + if (get_mem_refs_of_builtin_call (call, + &src0, &src0_len, &src0_is_store, +- &src1, &src0_len, &src1_is_store, ++ &src1, &src1_len, &src1_is_store, + &dest, &dest_len, &dest_is_store, + &dest_is_deref)) + { +--- gcc/testsuite/c-c++-common/asan/memcmp-2.c ++++ gcc/testsuite/c-c++-common/asan/memcmp-2.c +@@ -0,0 +1,10 @@ ++/* { dg-do compile } */ ++ ++int ++foo () ++{ ++ char s0[5] = {0}; ++ char s1[5] = {1}; ++ ++ return __builtin_memcmp (s0, s1, 2); ++} diff --git a/gcc48-pr54117.patch b/gcc48-pr54117.patch new file mode 100644 index 0000000..b1bad5a --- /dev/null +++ b/gcc48-pr54117.patch @@ -0,0 +1,263 @@ +2013-02-13 Jakub Jelinek + + PR pch/54117 + Revert + 2012-07-14 Steven Bosscher + + * toplev.c (init_asm_output): Open asm_out_file in 'w' mode. + + * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define. + Remove code conditional on it. + + 2012-07-01 Uros Bizjak + + * c-pch.c (c_common_write_pch): Remove unused variables. + + 2012-06-21 Steven Bosscher + + * c-common.h (c_common_print_pch_checksum): Remove. + * c-pch.c: Do not include output.h. + (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME. + (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined. + (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined. + (struct c_pch_header): Remove. + (get_ident): Update gpch version. + (pch_init): Do not print executable_checksum to asm_out_file. + Do not fail if there is no asm_out_file to read back from. Set + asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined. + (c_common_write_pch): Verify that nothing was written to asm_out_file + since pch_init was called. Do not write a c_pch_header, and do not + copy from asm_out_file to the PCH. + (c_common_read_pch): Do not read a c_pch_header, and do not restore + the content of asm_out_file from the PCH. + (c_common_print_pch_checksum): Remove. + * c-opts.c (c_common_init): Print out executable_checksum directly. + +--- gcc/toplev.c.jj 2013-02-13 09:29:16.197757222 +0100 ++++ gcc/toplev.c 2013-02-13 11:34:38.855800182 +0100 +@@ -912,7 +912,7 @@ init_asm_output (const char *name) + if (!strcmp (asm_file_name, "-")) + asm_out_file = stdout; + else +- asm_out_file = fopen (asm_file_name, "w"); ++ asm_out_file = fopen (asm_file_name, "w+b"); + if (asm_out_file == 0) + fatal_error ("can%'t open %s for writing: %m", asm_file_name); + } +--- gcc/c-family/c-pch.c.jj 2013-02-13 09:29:16.065757956 +0100 ++++ gcc/c-family/c-pch.c 2013-02-13 11:34:45.552761549 +0100 +@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. + #include "tree.h" + #include "flags.h" + #include "c-common.h" ++#include "output.h" /* for asm_out_file */ + #include "debug.h" + #include "c-pragma.h" + #include "ggc.h" +@@ -67,11 +68,19 @@ struct c_pch_validity + size_t target_data_length; + }; + ++struct c_pch_header ++{ ++ unsigned long asm_size; ++}; ++ + #define IDENT_LENGTH 8 + + /* The file we'll be writing the PCH to. */ + static FILE *pch_outfile; + ++/* The position in the assembler output file when pch_init was called. */ ++static long asm_file_startpos; ++ + static const char *get_ident (void); + + /* Compute an appropriate 8-byte magic number for the PCH file, so that +@@ -83,7 +92,7 @@ static const char * + get_ident (void) + { + static char result[IDENT_LENGTH]; +- static const char templ[] = "gpch.014"; ++ static const char templ[] = "gpch.013"; + static const char c_language_chars[] = "Co+O"; + + memcpy (result, templ, IDENT_LENGTH); +@@ -97,7 +106,9 @@ get_ident (void) + static bool pch_ready_to_save_cpp_state = false; + + /* Prepare to write a PCH file, if one is being written. This is +- called at the start of compilation. */ ++ called at the start of compilation. ++ ++ Also, print out the executable checksum if -fverbose-asm is in effect. */ + + void + pch_init (void) +@@ -107,6 +118,15 @@ pch_init (void) + void *target_validity; + static const char partial_pch[] = "gpcWrite"; + ++#ifdef ASM_COMMENT_START ++ if (flag_verbose_asm) ++ { ++ fprintf (asm_out_file, "%s ", ASM_COMMENT_START); ++ c_common_print_pch_checksum (asm_out_file); ++ fputc ('\n', asm_out_file); ++ } ++#endif ++ + if (!pch_file) + return; + +@@ -136,6 +156,14 @@ pch_init (void) + || fwrite (target_validity, v.target_data_length, 1, f) != 1) + fatal_error ("can%'t write to %s: %m", pch_file); + ++ /* We need to be able to re-read the output. */ ++ /* The driver always provides a valid -o option. */ ++ if (asm_file_name == NULL ++ || strcmp (asm_file_name, "-") == 0) ++ fatal_error ("%qs is not a valid output file", asm_file_name); ++ ++ asm_file_startpos = ftell (asm_out_file); ++ + /* Let the debugging format deal with the PCHness. */ + (*debug_hooks->handle_pch) (0); + +@@ -172,6 +200,11 @@ pch_cpp_save_state (void) + void + c_common_write_pch (void) + { ++ char *buf; ++ long asm_file_end; ++ long written; ++ struct c_pch_header h; ++ + timevar_push (TV_PCH_SAVE); + + targetm.prepare_pch_save (); +@@ -180,6 +213,34 @@ c_common_write_pch (void) + + cpp_write_pch_deps (parse_in, pch_outfile); + ++ asm_file_end = ftell (asm_out_file); ++ h.asm_size = asm_file_end - asm_file_startpos; ++ ++ if (fwrite (&h, sizeof (h), 1, pch_outfile) != 1) ++ fatal_error ("can%'t write %s: %m", pch_file); ++ ++ buf = XNEWVEC (char, 16384); ++ ++ if (fseek (asm_out_file, asm_file_startpos, SEEK_SET) != 0) ++ fatal_error ("can%'t seek in %s: %m", asm_file_name); ++ ++ for (written = asm_file_startpos; written < asm_file_end; ) ++ { ++ long size = asm_file_end - written; ++ if (size > 16384) ++ size = 16384; ++ if (fread (buf, size, 1, asm_out_file) != 1) ++ fatal_error ("can%'t read %s: %m", asm_file_name); ++ if (fwrite (buf, size, 1, pch_outfile) != 1) ++ fatal_error ("can%'t write %s: %m", pch_file); ++ written += size; ++ } ++ free (buf); ++ /* asm_out_file can be written afterwards, so fseek to clear ++ _IOREAD flag. */ ++ if (fseek (asm_out_file, 0, SEEK_END) != 0) ++ fatal_error ("can%'t seek in %s: %m", asm_file_name); ++ + gt_pch_save (pch_outfile); + + timevar_push (TV_PCH_CPP_SAVE); +@@ -341,6 +402,7 @@ c_common_read_pch (cpp_reader *pfile, co + int fd, const char *orig_name ATTRIBUTE_UNUSED) + { + FILE *f; ++ struct c_pch_header h; + struct save_macro_data *smd; + expanded_location saved_loc; + bool saved_trace_includes; +@@ -357,6 +419,38 @@ c_common_read_pch (cpp_reader *pfile, co + + cpp_get_callbacks (parse_in)->valid_pch = NULL; + ++ if (fread (&h, sizeof (h), 1, f) != 1) ++ { ++ cpp_errno (pfile, CPP_DL_ERROR, "reading"); ++ fclose (f); ++ goto end; ++ } ++ ++ if (!flag_preprocess_only) ++ { ++ unsigned long written; ++ char * buf = XNEWVEC (char, 16384); ++ ++ for (written = 0; written < h.asm_size; ) ++ { ++ long size = h.asm_size - written; ++ if (size > 16384) ++ size = 16384; ++ if (fread (buf, size, 1, f) != 1 ++ || fwrite (buf, size, 1, asm_out_file) != 1) ++ cpp_errno (pfile, CPP_DL_ERROR, "reading"); ++ written += size; ++ } ++ free (buf); ++ } ++ else ++ { ++ /* If we're preprocessing, don't write to a NULL ++ asm_out_file. */ ++ if (fseek (f, h.asm_size, SEEK_CUR) != 0) ++ cpp_errno (pfile, CPP_DL_ERROR, "seeking"); ++ } ++ + /* Save the location and then restore it after reading the PCH. */ + saved_loc = expand_location (line_table->highest_line); + saved_trace_includes = line_table->trace_includes; +@@ -435,3 +529,14 @@ c_common_pch_pragma (cpp_reader *pfile, + close (fd); + } + ++/* Print out executable_checksum[]. */ ++ ++void ++c_common_print_pch_checksum (FILE *f) ++{ ++ int i; ++ fputs ("Compiler executable checksum: ", f); ++ for (i = 0; i < 16; i++) ++ fprintf (f, "%02x", executable_checksum[i]); ++ putc ('\n', f); ++} +--- gcc/c-family/c-opts.c.jj 2013-02-13 09:29:16.110757723 +0100 ++++ gcc/c-family/c-opts.c 2013-02-13 11:34:45.551761562 +0100 +@@ -999,13 +999,7 @@ c_common_init (void) + cpp_init_iconv (parse_in); + + if (version_flag) +- { +- int i; +- fputs ("Compiler executable checksum: ", stderr); +- for (i = 0; i < 16; i++) +- fprintf (stderr, "%02x", executable_checksum[i]); +- putc ('\n', stderr); +- } ++ c_common_print_pch_checksum (stderr); + + /* Has to wait until now so that cpplib has its hash table. */ + init_pragma (); +--- gcc/c-family/c-common.h.jj 2013-02-13 09:29:16.152757462 +0100 ++++ gcc/c-family/c-common.h 2013-02-13 11:34:45.551761562 +0100 +@@ -1011,6 +1011,7 @@ extern void c_common_read_pch (cpp_reade + extern void c_common_write_pch (void); + extern void c_common_no_more_pch (void); + extern void c_common_pch_pragma (cpp_reader *pfile, const char *); ++extern void c_common_print_pch_checksum (FILE *f); + + /* In *-checksum.c */ + extern const unsigned char executable_checksum[16]; diff --git a/gcc48-pr56111.patch b/gcc48-pr56111.patch new file mode 100644 index 0000000..05abb81 --- /dev/null +++ b/gcc48-pr56111.patch @@ -0,0 +1,97 @@ +2013-02-13 Marc Glisse + + PR libstdc++/56111 + * include/std/complex (complex): Undefine. + * include/c_compatibility/complex.h (complex): Only undefine if + has been included. + * testsuite/26_numerics/complex/56111.cc: New testcase. + +--- libstdc++-v3/include/std/complex (revision 196018) ++++ libstdc++-v3/include/std/complex (working copy) +@@ -37,20 +37,23 @@ + #define _GLIBCXX_COMPLEX 1 + + #pragma GCC system_header + + #include + #include + #include + #include + #include + ++// Get rid of a macro possibly defined in ++#undef complex ++ + namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + + /** + * @defgroup complex_numbers Complex Numbers + * @ingroup numerics + * + * Classes and functions for complex numbers. + * @{ +--- libstdc++-v3/include/c_compatibility/complex.h (revision 196018) ++++ libstdc++-v3/include/c_compatibility/complex.h (working copy) +@@ -27,17 +27,20 @@ + */ + + #include + + #if __cplusplus >= 201103L + # include + #endif + + #if _GLIBCXX_HAVE_COMPLEX_H + # include_next +-# undef complex ++# ifdef _GLIBCXX_COMPLEX ++// See PR56111, keep the macro in C++03 if possible. ++# undef complex ++# endif + #endif + + #ifndef _GLIBCXX_COMPLEX_H + #define _GLIBCXX_COMPLEX_H 1 + + #endif +--- libstdc++-v3/testsuite/26_numerics/complex/56111.cc (revision 0) ++++ libstdc++-v3/testsuite/26_numerics/complex/56111.cc (revision 0) +@@ -0,0 +1,36 @@ ++// { dg-do compile } ++// { dg-options "-std=c++98" } ++ ++// Copyright (C) 2013 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// You should have received a copy of the GNU General Public License along ++// with this library; see the file COPYING3. If not see ++// . ++ ++// libstdc++/56111 ++// In C++03, we try to keep the macro "complex" as long as it does not ++// conflict (std::complex). ++#include ++#if _GLIBCXX_HAVE_COMPLEX_H ++# include ++#endif ++ ++int main() ++{ ++#if _GLIBCXX_HAVE_COMPLEX_H ++ double complex x = .5; ++ double complex y = cacos (x); ++ (void)y; ++#endif ++} diff --git a/gcc48-pr56151.patch b/gcc48-pr56151.patch deleted file mode 100644 index f3c2dc2..0000000 --- a/gcc48-pr56151.patch +++ /dev/null @@ -1,73 +0,0 @@ -2013-02-11 Jakub Jelinek - Steven Bosscher - - PR rtl-optimization/56151 - * optabs.c (add_equal_note): Don't return 0 if target is a MEM, - equal to op0 or op1, and last_insn pattern is CODE operation - with MEM dest and one of the operands matches that MEM. - - * gcc.target/i386/pr56151.c: New test. - ---- gcc/optabs.c.jj 2013-01-16 08:30:10.000000000 +0100 -+++ gcc/optabs.c 2013-02-11 15:28:16.543839881 +0100 -@@ -190,17 +190,34 @@ add_equal_note (rtx insns, rtx target, e - if (GET_CODE (target) == ZERO_EXTRACT) - return 1; - -- /* If TARGET is in OP0 or OP1, punt. We'd end up with a note referencing -- a value changing in the insn, so the note would be invalid for CSE. */ -- if (reg_overlap_mentioned_p (target, op0) -- || (op1 && reg_overlap_mentioned_p (target, op1))) -- return 0; -- - for (last_insn = insns; - NEXT_INSN (last_insn) != NULL_RTX; - last_insn = NEXT_INSN (last_insn)) - ; - -+ /* If TARGET is in OP0 or OP1, punt. We'd end up with a note referencing -+ a value changing in the insn, so the note would be invalid for CSE. */ -+ if (reg_overlap_mentioned_p (target, op0) -+ || (op1 && reg_overlap_mentioned_p (target, op1))) -+ { -+ if (MEM_P (target) -+ && (rtx_equal_p (target, op0) -+ || (op1 && rtx_equal_p (target, op1)))) -+ { -+ /* For MEM target, with MEM = MEM op X, prefer no REG_EQUAL note -+ over expanding it as temp = MEM op X, MEM = temp. See PR56151. */ -+ set = single_set (last_insn); -+ if (set -+ && GET_CODE (SET_SRC (set)) == code -+ && MEM_P (SET_DEST (set)) -+ && (rtx_equal_p (SET_DEST (set), XEXP (SET_SRC (set), 0)) -+ || (op1 && rtx_equal_p (SET_DEST (set), -+ XEXP (SET_SRC (set), 1))))) -+ return 1; -+ } -+ return 0; -+ } -+ - set = single_set (last_insn); - if (set == NULL_RTX) - return 1; ---- gcc/testsuite/gcc.target/i386/pr56151.c.jj 2013-02-11 16:20:51.459752951 +0100 -+++ gcc/testsuite/gcc.target/i386/pr56151.c 2013-02-11 16:23:10.590964710 +0100 -@@ -0,0 +1,17 @@ -+/* PR rtl-optimization/56151 */ -+/* { dg-do compile } */ -+/* { dg-options "-O2" } */ -+ -+int vara, varb; -+ -+void -+foo (int i, int j) -+{ -+ vara = varb | vara; -+} -+ -+/* Verify the above is compiled into movl varb, %reg; orl %reg, vara instead -+ of longer movl vara, %reg; orl varb, %reg; movl %reg, vara. */ -+/* { dg-final { scan-assembler-not "mov\[^\n\r]*vara" { target nonpic } } } */ -+/* { dg-final { scan-assembler-times "mov\[^\n\r]*varb" 1 { target nonpic } } } */ -+/* { dg-final { scan-assembler-times "or\[^\n\r]*vara" 1 { target nonpic } } } */ diff --git a/gcc48-pr56224.patch b/gcc48-pr56224.patch new file mode 100644 index 0000000..7635bf7 --- /dev/null +++ b/gcc48-pr56224.patch @@ -0,0 +1,81 @@ +2013-02-09 Thomas Koenig + + PR fortran/56224 + * gfortran.h (gfc_add_include_path): Add boolean argument for warn. + * scanner.c (gfc_add_include_path): Pass along warn argument + to add_path_to_list. + * options.c (gfc_post_options): Add true warn argument to + gfc_add_include_path. + (gfc_handle_module_path_options): Likewise. + (gfc_handle_option): Also gfc_add_include_path for intrinsic + modules, without warning. + +--- gcc/fortran/gfortran.h (Revision 195686) ++++ gcc/fortran/gfortran.h (Arbeitskopie) +@@ -2378,7 +2378,7 @@ match gfc_match_char_spec (gfc_typespec *); + void gfc_scanner_done_1 (void); + void gfc_scanner_init_1 (void); + +-void gfc_add_include_path (const char *, bool, bool); ++void gfc_add_include_path (const char *, bool, bool, bool); + void gfc_add_intrinsic_modules_path (const char *); + void gfc_release_include_path (void); + FILE *gfc_open_included_file (const char *, bool, bool); +--- gcc/fortran/scanner.c (Revision 195686) ++++ gcc/fortran/scanner.c (Arbeitskopie) +@@ -375,9 +375,10 @@ add_path_to_list (gfc_directorylist **list, const + + + void +-gfc_add_include_path (const char *path, bool use_for_modules, bool file_dir) ++gfc_add_include_path (const char *path, bool use_for_modules, bool file_dir, ++ bool warn) + { +- add_path_to_list (&include_dirs, path, use_for_modules, file_dir, true); ++ add_path_to_list (&include_dirs, path, use_for_modules, file_dir, warn); + + /* For '#include "..."' these directories are automatically searched. */ + if (!file_dir) +--- gcc/fortran/options.c (Revision 195686) ++++ gcc/fortran/options.c (Arbeitskopie) +@@ -337,10 +337,10 @@ gfc_post_options (const char **pfilename) + source_path = (char *) alloca (i + 1); + memcpy (source_path, canon_source_file, i); + source_path[i] = 0; +- gfc_add_include_path (source_path, true, true); ++ gfc_add_include_path (source_path, true, true, true); + } + else +- gfc_add_include_path (".", true, true); ++ gfc_add_include_path (".", true, true, true); + + if (canon_source_file != gfc_source_file) + free (CONST_CAST (char *, canon_source_file)); +@@ -498,7 +498,7 @@ gfc_handle_module_path_options (const char *arg) + gfc_option.module_dir = XCNEWVEC (char, strlen (arg) + 2); + strcpy (gfc_option.module_dir, arg); + +- gfc_add_include_path (gfc_option.module_dir, true, false); ++ gfc_add_include_path (gfc_option.module_dir, true, false, true); + + strcat (gfc_option.module_dir, "/"); + } +@@ -844,6 +844,9 @@ gfc_handle_option (size_t scode, const char *arg, + + case OPT_fintrinsic_modules_path: + case OPT_fintrinsic_modules_path_: ++ ++ gfc_add_include_path (arg, false, false, false); ++ + gfc_add_intrinsic_modules_path (arg); + break; + +@@ -978,7 +983,7 @@ gfc_handle_option (size_t scode, const char *arg, + break; + + case OPT_I: +- gfc_add_include_path (arg, true, false); ++ gfc_add_include_path (arg, true, false, true); + break; + + case OPT_J: diff --git a/sources b/sources index ff69942..2f8b492 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ be78a47bd82523250eb3e91646db5b3d cloog-0.18.0.tar.gz 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz bce1586384d8635a76d2f017fb067cd2 isl-0.11.1.tar.bz2 -ab39481e50bd55b5efdf8bbcdfda63e3 gcc-4.8.0-20130211.tar.bz2 +b69a343c57e805bd5e3c94fdcd7d45b7 gcc-4.8.0-20130213.tar.bz2