diff -Nrcpad gcc-4.4.6/gcc/fortran/ChangeLog gcc-4.4.7/gcc/fortran/ChangeLog *** gcc-4.4.6/gcc/fortran/ChangeLog Sat Apr 16 08:00:09 2011 --- gcc-4.4.7/gcc/fortran/ChangeLog Tue Mar 13 08:52:52 2012 *************** *** 1,3 **** --- 1,18 ---- + 2012-03-13 Release Manager + + * GCC 4.4.7 released. + + 2011-10-15 Janus Weil + + PR fortran/50659 + * expr.c (replace_symbol): Only do replacement if the symbol is a dummy. + + 2011-09-01 Mikael Morin + + PR fortran/50050 + * resolve.c (gfc_expr_to_initialize): Don't copy rank. + Free copied shape. Recalculate shape and rank. + 2011-04-16 Release Manager * GCC 4.4.6 released. diff -Nrcpad gcc-4.4.6/gcc/fortran/expr.c gcc-4.4.7/gcc/fortran/expr.c *** gcc-4.4.6/gcc/fortran/expr.c Sun Jan 31 14:57:13 2010 --- gcc-4.4.7/gcc/fortran/expr.c Sat Oct 15 12:16:13 2011 *************** gfc_expr_check_typed (gfc_expr* e, gfc_n *** 3609,3616 **** return error_found ? FAILURE : SUCCESS; } ! /* Walk an expression tree and replace all symbols with a corresponding symbol ! in the formal_ns of "sym". Needed for copying interfaces in PROCEDURE statements. The boolean return value is required by gfc_traverse_expr. */ static bool --- 3609,3617 ---- return error_found ? FAILURE : SUCCESS; } ! ! /* Walk an expression tree and replace all dummy symbols by the corresponding ! symbol in the formal_ns of "sym". Needed for copying interfaces in PROCEDURE statements. The boolean return value is required by gfc_traverse_expr. */ static bool *************** replace_symbol (gfc_expr *expr, gfc_symb *** 3619,3632 **** if ((expr->expr_type == EXPR_VARIABLE || (expr->expr_type == EXPR_FUNCTION && !gfc_is_intrinsic (expr->symtree->n.sym, 0, expr->where))) ! && expr->symtree->n.sym->ns == sym->ts.interface->formal_ns) { ! gfc_symtree *stree; ! gfc_namespace *ns = sym->formal_ns; ! /* Don't use gfc_get_symtree as we prefer to fail badly if we don't find ! the symtree rather than create a new one (and probably fail later). */ ! stree = gfc_find_symtree (ns ? ns->sym_root : gfc_current_ns->sym_root, ! expr->symtree->n.sym->name); gcc_assert (stree); stree->n.sym->attr = expr->symtree->n.sym->attr; expr->symtree = stree; --- 3620,3631 ---- if ((expr->expr_type == EXPR_VARIABLE || (expr->expr_type == EXPR_FUNCTION && !gfc_is_intrinsic (expr->symtree->n.sym, 0, expr->where))) ! && expr->symtree->n.sym->ns == sym->ts.interface->formal_ns ! && expr->symtree->n.sym->attr.dummy) { ! gfc_symtree *root = sym->formal_ns ? sym->formal_ns->sym_root ! : gfc_current_ns->sym_root; ! gfc_symtree *stree = gfc_find_symtree (root, expr->symtree->n.sym->name); gcc_assert (stree); stree->n.sym->attr = expr->symtree->n.sym->attr; expr->symtree = stree; diff -Nrcpad gcc-4.4.6/gcc/fortran/gfortran.info gcc-4.4.7/gcc/fortran/gfortran.info *** gcc-4.4.6/gcc/fortran/gfortran.info Sat Apr 16 08:41:04 2011 --- gcc-4.4.7/gcc/fortran/gfortran.info Tue Mar 13 10:11:02 2012 *************** *** 1,5 **** This is doc/gfortran.info, produced by makeinfo version 4.13 from ! /d/gcc-4.4.6/gcc-4.4.6/gcc/fortran/gfortran.texi. Copyright (C) 1999-2008 Free Software Foundation, Inc. --- 1,5 ---- This is doc/gfortran.info, produced by makeinfo version 4.13 from ! /d//gcc-4.4.7/gcc-4.4.7/gcc/fortran/gfortran.texi. Copyright (C) 1999-2008 Free Software Foundation, Inc. *************** Keyword Index *** 14762,15064 ****  Tag Table: ! Node: Top1990 ! Node: Introduction3310 ! Node: About GNU Fortran4057 ! Node: GNU Fortran and GCC8085 ! Node: Preprocessing and conditional compilation10197 ! Node: GNU Fortran and G7711838 ! Node: Project Status12411 ! Node: Standards14926 ! Node: Invoking GNU Fortran16137 ! Node: Option Summary17860 ! Node: Fortran Dialect Options21331 ! Node: Preprocessing Options28141 ! Node: Error and Warning Options36267 ! Node: Debugging Options43694 ! Node: Directory Options45857 ! Node: Link Options47292 ! Node: Runtime Options47916 ! Node: Code Gen Options49996 ! Node: Environment Variables62221 ! Node: Runtime62826 ! Node: GFORTRAN_STDIN_UNIT64054 ! Node: GFORTRAN_STDOUT_UNIT64421 ! Node: GFORTRAN_STDERR_UNIT64822 ! Node: GFORTRAN_USE_STDERR65220 ! Node: GFORTRAN_TMPDIR65665 ! Node: GFORTRAN_UNBUFFERED_ALL66106 ! Node: GFORTRAN_UNBUFFERED_PRECONNECTED66629 ! Node: GFORTRAN_SHOW_LOCUS67271 ! Node: GFORTRAN_OPTIONAL_PLUS67765 ! Node: GFORTRAN_DEFAULT_RECL68240 ! Node: GFORTRAN_LIST_SEPARATOR68731 ! Node: GFORTRAN_CONVERT_UNIT69340 ! Node: GFORTRAN_ERROR_DUMPCORE72202 ! Node: GFORTRAN_ERROR_BACKTRACE72749 ! Node: Fortran 2003 and 2008 status73300 ! Node: Fortran 2003 status73540 ! Node: Fortran 2008 status75231 ! Node: Compiler Characteristics76200 ! Node: KIND Type Parameters76659 ! Node: Internal representation of LOGICAL variables77639 ! Node: Extensions78950 ! Node: Extensions implemented in GNU Fortran79549 ! Node: Old-style kind specifications80883 ! Node: Old-style variable initialization81989 ! Node: Extensions to namelist83301 ! Node: X format descriptor without count field85297 ! Node: Commas in FORMAT specifications85824 ! Node: Missing period in FORMAT specifications86341 ! Node: I/O item lists86903 ! Node: BOZ literal constants87292 ! Node: Real array indices89861 ! Node: Unary operators90158 ! Node: Implicitly convert LOGICAL and INTEGER values90572 ! Node: Hollerith constants support91532 ! Node: Cray pointers93304 ! Node: CONVERT specifier98714 ! Node: OpenMP100712 ! Node: Argument list functions102967 ! Node: Extensions not implemented in GNU Fortran104561 ! Node: STRUCTURE and RECORD105413 ! Node: ENCODE and DECODE statements107469 ! Node: Intrinsic Procedures108787 ! Node: Introduction to Intrinsics122477 ! Node: ABORT124829 ! Node: ABS125586 ! Node: ACCESS127088 ! Node: ACHAR129009 ! Node: ACOS130210 ! Node: ACOSH131208 ! Node: ADJUSTL132085 ! Node: ADJUSTR133026 ! Node: AIMAG133973 ! Node: AINT135293 ! Node: ALARM136765 ! Node: ALL138399 ! Node: ALLOCATED140317 ! Node: AND141198 ! Node: ANINT142495 ! Node: ANY143858 ! Node: ASIN145788 ! Node: ASINH146800 ! Node: ASSOCIATED147682 ! Node: ATAN150687 ! Node: ATAN2151576 ! Node: ATANH152920 ! Node: BESSEL_J0153800 ! Node: BESSEL_J1154844 ! Node: BESSEL_JN155896 ! Node: BESSEL_Y0157063 ! Node: BESSEL_Y1158063 ! Node: BESSEL_YN159063 ! Node: BIT_SIZE160280 ! Node: BTEST161109 ! Node: C_ASSOCIATED161997 ! Node: C_FUNLOC163206 ! Node: C_F_PROCPOINTER164575 ! Node: C_F_POINTER166204 ! Node: C_LOC167622 ! Node: C_SIZEOF168739 ! Node: CEILING170092 ! Node: CHAR171097 ! Node: CHDIR172161 ! Node: CHMOD173329 ! Node: CMPLX175124 ! Node: COMMAND_ARGUMENT_COUNT176588 ! Node: COMPLEX177495 ! Node: CONJG178638 ! Node: COS179648 ! Node: COSH180919 ! Node: COUNT181888 ! Node: CPU_TIME183744 ! Node: CSHIFT185098 ! Node: CTIME186754 ! Node: DATE_AND_TIME188013 ! Node: DBLE190474 ! Node: DCMPLX191298 ! Node: DFLOAT192492 ! Node: DIGITS193186 ! Node: DIM194152 ! Node: DOT_PRODUCT195295 ! Node: DPROD196951 ! Node: DREAL197677 ! Node: DTIME198341 ! Node: EOSHIFT201147 ! Node: EPSILON203220 ! Node: ERF203946 ! Node: ERFC204720 ! Node: ERFC_SCALED205524 ! Node: ETIME206216 ! Node: EXIT208447 ! Node: EXP209306 ! Node: EXPONENT210464 ! Node: FDATE211214 ! Node: FLOAT212489 ! Node: FGET213203 ! Node: FGETC214997 ! Node: FLOOR216765 ! Node: FLUSH217749 ! Node: FNUM218387 ! Node: FPUT219109 ! Node: FPUTC220710 ! Node: FRACTION222450 ! Node: FREE223351 ! Node: FSEEK224188 ! Node: FSTAT226482 ! Node: FTELL227522 ! Node: GAMMA228500 ! Node: GERROR229541 ! Node: GETARG230260 ! Node: GET_COMMAND232024 ! Node: GET_COMMAND_ARGUMENT232970 ! Node: GETCWD234938 ! Node: GETENV235884 ! Node: GET_ENVIRONMENT_VARIABLE237106 ! Node: GETGID238806 ! Node: GETLOG239341 ! Node: GETPID240199 ! Node: GETUID240927 ! Node: GMTIME241441 ! Node: HOSTNM242930 ! Node: HUGE243846 ! Node: HYPOT244565 ! Node: IACHAR245385 ! Node: IAND246565 ! Node: IARGC247552 ! Node: IBCLR248575 ! Node: IBITS249236 ! Node: IBSET250151 ! Node: ICHAR250807 ! Node: IDATE252788 ! Node: IEOR253815 ! Node: IERRNO254691 ! Node: INDEX intrinsic255246 ! Node: INT256592 ! Node: INT2258179 ! Node: INT8258944 ! Node: IOR259656 ! Node: IRAND260506 ! Node: IS_IOSTAT_END261858 ! Node: IS_IOSTAT_EOR262953 ! Node: ISATTY264078 ! Node: ISHFT264861 ! Node: ISHFTC265841 ! Node: ISNAN267057 ! Node: ITIME267805 ! Node: KILL268830 ! Node: KIND269703 ! Node: LBOUND270548 ! Node: LEADZ271860 ! Node: LEN272664 ! Node: LEN_TRIM273755 ! Node: LGE274743 ! Node: LGT276056 ! Node: LINK277333 ! Node: LLE278368 ! Node: LLT279672 ! Node: LNBLNK280942 ! Node: LOC281718 ! Node: LOG282449 ! Node: LOG10283740 ! Node: LOG_GAMMA284712 ! Node: LOGICAL285800 ! Node: LONG286604 ! Node: LSHIFT287360 ! Node: LSTAT288314 ! Node: LTIME289468 ! Node: MALLOC290883 ! Node: MATMUL292343 ! Node: MAX293433 ! Node: MAXEXPONENT294932 ! Node: MAXLOC295748 ! Node: MAXVAL297797 ! Node: MCLOCK299460 ! Node: MCLOCK8300463 ! Node: MERGE301677 ! Node: MIN302419 ! Node: MINEXPONENT303915 ! Node: MINLOC304545 ! Node: MINVAL306594 ! Node: MOD308276 ! Node: MODULO309768 ! Node: MOVE_ALLOC310982 ! Node: MVBITS312006 ! Node: NEAREST313065 ! Node: NEW_LINE314188 ! Node: NINT314959 ! Node: NOT316227 ! Node: NULL316810 ! Node: OR317708 ! Node: PACK318986 ! Node: PERROR320978 ! Node: PRECISION321600 ! Node: PRESENT322426 ! Node: PRODUCT323532 ! Node: RADIX325057 ! Node: RAN325834 ! Node: RAND326290 ! Node: RANDOM_NUMBER327625 ! Node: RANDOM_SEED329343 ! Node: RANGE331226 ! Node: REAL331850 ! Node: RENAME333292 ! Node: REPEAT334311 ! Node: RESHAPE335037 ! Node: RRSPACING336506 ! Node: RSHIFT337199 ! Node: SCALE338161 ! Node: SCAN338935 ! Node: SECNDS340485 ! Node: SECOND341573 ! Node: SELECTED_CHAR_KIND342449 ! Node: SELECTED_INT_KIND343446 ! Node: SELECTED_REAL_KIND344621 ! Node: SET_EXPONENT346560 ! Node: SHAPE347556 ! Node: SIGN348669 ! Node: SIGNAL349752 ! Node: SIN351249 ! Node: SINH352291 ! Node: SIZE353103 ! Node: SIZEOF354411 ! Node: SLEEP355705 ! Node: SNGL356262 ! Node: SPACING356933 ! Node: SPREAD357945 ! Node: SQRT359090 ! Node: SRAND360329 ! Node: STAT361497 ! Node: SUM364609 ! Node: SYMLNK366078 ! Node: SYSTEM367210 ! Node: SYSTEM_CLOCK368158 ! Node: TAN369502 ! Node: TANH370338 ! Node: TIME371205 ! Node: TIME8372309 ! Node: TINY373446 ! Node: TRAILZ374046 ! Node: TRANSFER374831 ! Node: TRANSPOSE376865 ! Node: TRIM377552 ! Node: TTYNAM378409 ! Node: UBOUND379324 ! Node: UMASK380693 ! Node: UNLINK381248 ! Node: UNPACK382225 ! Node: VERIFY383513 ! Node: XOR385229 ! Node: Intrinsic Modules386537 ! Node: Contributing392328 ! Node: Contributors393180 ! Node: Projects394803 ! Node: Proposed Extensions395606 ! Node: Copying397617 ! Node: GNU Free Documentation License435181 ! Node: Funding457593 ! Node: Option Index460118 ! Node: Keyword Index472000  End Tag Table --- 14762,15064 ----  Tag Table: ! Node: Top1991 ! Node: Introduction3311 ! Node: About GNU Fortran4058 ! Node: GNU Fortran and GCC8086 ! Node: Preprocessing and conditional compilation10198 ! Node: GNU Fortran and G7711839 ! Node: Project Status12412 ! Node: Standards14927 ! Node: Invoking GNU Fortran16138 ! Node: Option Summary17861 ! Node: Fortran Dialect Options21332 ! Node: Preprocessing Options28142 ! Node: Error and Warning Options36268 ! Node: Debugging Options43695 ! Node: Directory Options45858 ! Node: Link Options47293 ! Node: Runtime Options47917 ! Node: Code Gen Options49997 ! Node: Environment Variables62222 ! Node: Runtime62827 ! Node: GFORTRAN_STDIN_UNIT64055 ! Node: GFORTRAN_STDOUT_UNIT64422 ! Node: GFORTRAN_STDERR_UNIT64823 ! Node: GFORTRAN_USE_STDERR65221 ! Node: GFORTRAN_TMPDIR65666 ! Node: GFORTRAN_UNBUFFERED_ALL66107 ! Node: GFORTRAN_UNBUFFERED_PRECONNECTED66630 ! Node: GFORTRAN_SHOW_LOCUS67272 ! Node: GFORTRAN_OPTIONAL_PLUS67766 ! Node: GFORTRAN_DEFAULT_RECL68241 ! Node: GFORTRAN_LIST_SEPARATOR68732 ! Node: GFORTRAN_CONVERT_UNIT69341 ! Node: GFORTRAN_ERROR_DUMPCORE72203 ! Node: GFORTRAN_ERROR_BACKTRACE72750 ! Node: Fortran 2003 and 2008 status73301 ! Node: Fortran 2003 status73541 ! Node: Fortran 2008 status75232 ! Node: Compiler Characteristics76201 ! Node: KIND Type Parameters76660 ! Node: Internal representation of LOGICAL variables77640 ! Node: Extensions78951 ! Node: Extensions implemented in GNU Fortran79550 ! Node: Old-style kind specifications80884 ! Node: Old-style variable initialization81990 ! Node: Extensions to namelist83302 ! Node: X format descriptor without count field85298 ! Node: Commas in FORMAT specifications85825 ! Node: Missing period in FORMAT specifications86342 ! Node: I/O item lists86904 ! Node: BOZ literal constants87293 ! Node: Real array indices89862 ! Node: Unary operators90159 ! Node: Implicitly convert LOGICAL and INTEGER values90573 ! Node: Hollerith constants support91533 ! Node: Cray pointers93305 ! Node: CONVERT specifier98715 ! Node: OpenMP100713 ! Node: Argument list functions102968 ! Node: Extensions not implemented in GNU Fortran104562 ! Node: STRUCTURE and RECORD105414 ! Node: ENCODE and DECODE statements107470 ! Node: Intrinsic Procedures108788 ! Node: Introduction to Intrinsics122478 ! Node: ABORT124830 ! Node: ABS125587 ! Node: ACCESS127089 ! Node: ACHAR129010 ! Node: ACOS130211 ! Node: ACOSH131209 ! Node: ADJUSTL132086 ! Node: ADJUSTR133027 ! Node: AIMAG133974 ! Node: AINT135294 ! Node: ALARM136766 ! Node: ALL138400 ! Node: ALLOCATED140318 ! Node: AND141199 ! Node: ANINT142496 ! Node: ANY143859 ! Node: ASIN145789 ! Node: ASINH146801 ! Node: ASSOCIATED147683 ! Node: ATAN150688 ! Node: ATAN2151577 ! Node: ATANH152921 ! Node: BESSEL_J0153801 ! Node: BESSEL_J1154845 ! Node: BESSEL_JN155897 ! Node: BESSEL_Y0157064 ! Node: BESSEL_Y1158064 ! Node: BESSEL_YN159064 ! Node: BIT_SIZE160281 ! Node: BTEST161110 ! Node: C_ASSOCIATED161998 ! Node: C_FUNLOC163207 ! Node: C_F_PROCPOINTER164576 ! Node: C_F_POINTER166205 ! Node: C_LOC167623 ! Node: C_SIZEOF168740 ! Node: CEILING170093 ! Node: CHAR171098 ! Node: CHDIR172162 ! Node: CHMOD173330 ! Node: CMPLX175125 ! Node: COMMAND_ARGUMENT_COUNT176589 ! Node: COMPLEX177496 ! Node: CONJG178639 ! Node: COS179649 ! Node: COSH180920 ! Node: COUNT181889 ! Node: CPU_TIME183745 ! Node: CSHIFT185099 ! Node: CTIME186755 ! Node: DATE_AND_TIME188014 ! Node: DBLE190475 ! Node: DCMPLX191299 ! Node: DFLOAT192493 ! Node: DIGITS193187 ! Node: DIM194153 ! Node: DOT_PRODUCT195296 ! Node: DPROD196952 ! Node: DREAL197678 ! Node: DTIME198342 ! Node: EOSHIFT201148 ! Node: EPSILON203221 ! Node: ERF203947 ! Node: ERFC204721 ! Node: ERFC_SCALED205525 ! Node: ETIME206217 ! Node: EXIT208448 ! Node: EXP209307 ! Node: EXPONENT210465 ! Node: FDATE211215 ! Node: FLOAT212490 ! Node: FGET213204 ! Node: FGETC214998 ! Node: FLOOR216766 ! Node: FLUSH217750 ! Node: FNUM218388 ! Node: FPUT219110 ! Node: FPUTC220711 ! Node: FRACTION222451 ! Node: FREE223352 ! Node: FSEEK224189 ! Node: FSTAT226483 ! Node: FTELL227523 ! Node: GAMMA228501 ! Node: GERROR229542 ! Node: GETARG230261 ! Node: GET_COMMAND232025 ! Node: GET_COMMAND_ARGUMENT232971 ! Node: GETCWD234939 ! Node: GETENV235885 ! Node: GET_ENVIRONMENT_VARIABLE237107 ! Node: GETGID238807 ! Node: GETLOG239342 ! Node: GETPID240200 ! Node: GETUID240928 ! Node: GMTIME241442 ! Node: HOSTNM242931 ! Node: HUGE243847 ! Node: HYPOT244566 ! Node: IACHAR245386 ! Node: IAND246566 ! Node: IARGC247553 ! Node: IBCLR248576 ! Node: IBITS249237 ! Node: IBSET250152 ! Node: ICHAR250808 ! Node: IDATE252789 ! Node: IEOR253816 ! Node: IERRNO254692 ! Node: INDEX intrinsic255247 ! Node: INT256593 ! Node: INT2258180 ! Node: INT8258945 ! Node: IOR259657 ! Node: IRAND260507 ! Node: IS_IOSTAT_END261859 ! Node: IS_IOSTAT_EOR262954 ! Node: ISATTY264079 ! Node: ISHFT264862 ! Node: ISHFTC265842 ! Node: ISNAN267058 ! Node: ITIME267806 ! Node: KILL268831 ! Node: KIND269704 ! Node: LBOUND270549 ! Node: LEADZ271861 ! Node: LEN272665 ! Node: LEN_TRIM273756 ! Node: LGE274744 ! Node: LGT276057 ! Node: LINK277334 ! Node: LLE278369 ! Node: LLT279673 ! Node: LNBLNK280943 ! Node: LOC281719 ! Node: LOG282450 ! Node: LOG10283741 ! Node: LOG_GAMMA284713 ! Node: LOGICAL285801 ! Node: LONG286605 ! Node: LSHIFT287361 ! Node: LSTAT288315 ! Node: LTIME289469 ! Node: MALLOC290884 ! Node: MATMUL292344 ! Node: MAX293434 ! Node: MAXEXPONENT294933 ! Node: MAXLOC295749 ! Node: MAXVAL297798 ! Node: MCLOCK299461 ! Node: MCLOCK8300464 ! Node: MERGE301678 ! Node: MIN302420 ! Node: MINEXPONENT303916 ! Node: MINLOC304546 ! Node: MINVAL306595 ! Node: MOD308277 ! Node: MODULO309769 ! Node: MOVE_ALLOC310983 ! Node: MVBITS312007 ! Node: NEAREST313066 ! Node: NEW_LINE314189 ! Node: NINT314960 ! Node: NOT316228 ! Node: NULL316811 ! Node: OR317709 ! Node: PACK318987 ! Node: PERROR320979 ! Node: PRECISION321601 ! Node: PRESENT322427 ! Node: PRODUCT323533 ! Node: RADIX325058 ! Node: RAN325835 ! Node: RAND326291 ! Node: RANDOM_NUMBER327626 ! Node: RANDOM_SEED329344 ! Node: RANGE331227 ! Node: REAL331851 ! Node: RENAME333293 ! Node: REPEAT334312 ! Node: RESHAPE335038 ! Node: RRSPACING336507 ! Node: RSHIFT337200 ! Node: SCALE338162 ! Node: SCAN338936 ! Node: SECNDS340486 ! Node: SECOND341574 ! Node: SELECTED_CHAR_KIND342450 ! Node: SELECTED_INT_KIND343447 ! Node: SELECTED_REAL_KIND344622 ! Node: SET_EXPONENT346561 ! Node: SHAPE347557 ! Node: SIGN348670 ! Node: SIGNAL349753 ! Node: SIN351250 ! Node: SINH352292 ! Node: SIZE353104 ! Node: SIZEOF354412 ! Node: SLEEP355706 ! Node: SNGL356263 ! Node: SPACING356934 ! Node: SPREAD357946 ! Node: SQRT359091 ! Node: SRAND360330 ! Node: STAT361498 ! Node: SUM364610 ! Node: SYMLNK366079 ! Node: SYSTEM367211 ! Node: SYSTEM_CLOCK368159 ! Node: TAN369503 ! Node: TANH370339 ! Node: TIME371206 ! Node: TIME8372310 ! Node: TINY373447 ! Node: TRAILZ374047 ! Node: TRANSFER374832 ! Node: TRANSPOSE376866 ! Node: TRIM377553 ! Node: TTYNAM378410 ! Node: UBOUND379325 ! Node: UMASK380694 ! Node: UNLINK381249 ! Node: UNPACK382226 ! Node: VERIFY383514 ! Node: XOR385230 ! Node: Intrinsic Modules386538 ! Node: Contributing392329 ! Node: Contributors393181 ! Node: Projects394804 ! Node: Proposed Extensions395607 ! Node: Copying397618 ! Node: GNU Free Documentation License435182 ! Node: Funding457594 ! Node: Option Index460119 ! Node: Keyword Index472001  End Tag Table diff -Nrcpad gcc-4.4.6/gcc/fortran/resolve.c gcc-4.4.7/gcc/fortran/resolve.c *** gcc-4.4.6/gcc/fortran/resolve.c Sat Jul 10 17:08:48 2010 --- gcc-4.4.7/gcc/fortran/resolve.c Thu Sep 1 19:19:55 2011 *************** expr_to_initialize (gfc_expr *e) *** 5180,5189 **** for (i = 0; i < ref->u.ar.dimen; i++) ref->u.ar.start[i] = ref->u.ar.end[i] = ref->u.ar.stride[i] = NULL; - result->rank = ref->u.ar.dimen; break; } return result; } --- 5180,5198 ---- for (i = 0; i < ref->u.ar.dimen; i++) ref->u.ar.start[i] = ref->u.ar.end[i] = ref->u.ar.stride[i] = NULL; break; } + if (result->shape != NULL) + { + for (i = 0; i < result->rank; i++) + mpz_clear (result->shape[i]); + gfc_free (result->shape); + result->shape = NULL; + } + + /* Recalculate rank, shape, etc. */ + gfc_resolve_expr (result); return result; } diff -Nrcpad gcc-4.4.6/libgfortran/ChangeLog gcc-4.4.7/libgfortran/ChangeLog *** gcc-4.4.6/libgfortran/ChangeLog Sat Apr 16 08:02:02 2011 --- gcc-4.4.7/libgfortran/ChangeLog Tue Mar 13 08:51:28 2012 *************** *** 1,3 **** --- 1,24 ---- + 2012-03-13 Release Manager + + * GCC 4.4.7 released. + + 2011-08-19 Tobias Burnus + + Backport from mainline + 2011-08-18 Tobias Burnus + + PR fortran/50109 + * io/list_read.c (eat_separator): Fix skipping over "!" lines. + + 2011-07-28 Tobias Burnus + + Backport from mainline + 2011-07-23 Tobias Burnus + + PR fortran/49791 + * io/list_read.c (nml_parse_qualifier): Remove check to + enabled extended read for another case. + 2011-04-16 Release Manager * GCC 4.4.6 released. diff -Nrcpad gcc-4.4.6/libgfortran/io/list_read.c gcc-4.4.7/libgfortran/io/list_read.c *** gcc-4.4.6/libgfortran/io/list_read.c Thu Nov 4 00:34:16 2010 --- gcc-4.4.7/libgfortran/io/list_read.c Fri Aug 19 11:55:16 2011 *************** eat_separator (st_parameter_dt *dtp) *** 351,362 **** if (c == '!') { eat_line (dtp); ! c = next_char (dtp); ! if (c == '!') ! { ! eat_line (dtp); ! c = next_char (dtp); ! } } } while (c == '\n' || c == '\r' || c == ' ' || c == '\t'); --- 351,357 ---- if (c == '!') { eat_line (dtp); ! c = '\n'; } } while (c == '\n' || c == '\r' || c == ' ' || c == '\t'); *************** nml_parse_qualifier (st_parameter_dt *dt *** 2079,2085 **** do not allow excess data to be processed. */ if (is_array_section == 1 || !(compile_options.allow_std & GFC_STD_GNU) - || !dtp->u.p.ionml->touched || dtp->u.p.ionml->type == GFC_DTYPE_DERIVED) ls[dim].end = ls[dim].start; else --- 2074,2079 ----