diff -Nrcpad gcc-4.3.5/gcc/fortran/ChangeLog gcc-4.3.6/gcc/fortran/ChangeLog *** gcc-4.3.5/gcc/fortran/ChangeLog Sat May 22 17:52:49 2010 --- gcc-4.3.6/gcc/fortran/ChangeLog Mon Jun 27 11:19:18 2011 *************** *** 1,3 **** --- 1,15 ---- + 2011-06-27 Release Manager + + * GCC 4.3.6 released. + + 2010-12-09 Paul Thomas + + PR fortran/45081 + * simplify.c (is_constant_array_expr): Allow structure array + elements as well as constants. + (gfc_simplify_reshape): Copy the derived type of source to + the result. + 2010-05-22 Release Manager * GCC 4.3.5 released. diff -Nrcpad gcc-4.3.5/gcc/fortran/gfortran.info gcc-4.3.6/gcc/fortran/gfortran.info *** gcc-4.3.5/gcc/fortran/gfortran.info Sat May 22 19:23:56 2010 --- gcc-4.3.6/gcc/fortran/gfortran.info Mon Jun 27 12:01:50 2011 *************** *** 1,5 **** This is doc/gfortran.info, produced by makeinfo version 4.12 from ! /abuild/rguenther/tmp/gcc-4.3.5/gcc-4.3.5/gcc/fortran/gfortran.texi. Copyright (C) 1999-2007 Free Software Foundation, Inc. --- 1,5 ---- This is doc/gfortran.info, produced by makeinfo version 4.12 from ! /space/rguenther/gcc-4.3.6/gcc-4.3.6/gcc/fortran/gfortran.texi. Copyright (C) 1999-2007 Free Software Foundation, Inc. *************** Keyword Index *** 13936,14226 ****  Tag Table: ! Node: Top2075 ! Node: Introduction3292 ! Node: About GNU Fortran4037 ! Node: GNU Fortran and GCC8095 ! Node: Preprocessing and conditional compilation10185 ! Node: GNU Fortran and G7711626 ! Node: Project Status12199 ! Node: Standards14697 ! Node: Invoking GNU Fortran15354 ! Node: Option Summary17014 ! Node: Fortran Dialect Options19908 ! Node: Error and Warning Options25651 ! Node: Debugging Options31816 ! Node: Directory Options33982 ! Node: Link Options35509 ! Node: Runtime Options36133 ! Node: Code Gen Options37836 ! Node: Environment Variables48403 ! Node: Runtime49006 ! Node: GFORTRAN_STDIN_UNIT50225 ! Node: GFORTRAN_STDOUT_UNIT50592 ! Node: GFORTRAN_STDERR_UNIT50993 ! Node: GFORTRAN_USE_STDERR51391 ! Node: GFORTRAN_TMPDIR51836 ! Node: GFORTRAN_UNBUFFERED_ALL52277 ! Node: GFORTRAN_UNBUFFERED_PRECONNECTED52800 ! Node: GFORTRAN_SHOW_LOCUS53441 ! Node: GFORTRAN_OPTIONAL_PLUS53935 ! Node: GFORTRAN_DEFAULT_RECL54410 ! Node: GFORTRAN_LIST_SEPARATOR54901 ! Node: GFORTRAN_CONVERT_UNIT55510 ! Node: GFORTRAN_ERROR_DUMPCORE58385 ! Node: GFORTRAN_ERROR_BACKTRACE58932 ! Node: Fortran 2003 status59483 ! Node: Extensions61152 ! Node: Extensions implemented in GNU Fortran61746 ! Node: Old-style kind specifications63066 ! Node: Old-style variable initialization63931 ! Node: Extensions to namelist65243 ! Node: X format descriptor without count field67239 ! Node: Commas in FORMAT specifications67766 ! Node: Missing period in FORMAT specifications68283 ! Node: I/O item lists68845 ! Node: BOZ literal constants69234 ! Node: Real array indices71803 ! Node: Unary operators72100 ! Node: Implicitly convert LOGICAL and INTEGER values72514 ! Node: Hollerith constants support73474 ! Node: Cray pointers75246 ! Node: CONVERT specifier80656 ! Node: OpenMP82658 ! Node: Argument list functions84912 ! Node: Extensions not implemented in GNU Fortran86506 ! Node: STRUCTURE and RECORD87357 ! Node: ENCODE and DECODE statements89414 ! Node: Intrinsic Procedures90732 ! Node: Introduction to Intrinsics104024 ! Node: ABORT106337 ! Node: ABS107040 ! Node: ACCESS108532 ! Node: ACHAR110421 ! Node: ACOS111361 ! Node: ACOSH112291 ! Node: ADJUSTL113264 ! Node: ADJUSTR114158 ! Node: AIMAG115058 ! Node: AINT116468 ! Node: ALARM117913 ! Node: ALL119547 ! Node: ALLOCATED121464 ! Node: AND122330 ! Node: ANINT123492 ! Node: ANY124830 ! Node: ASIN126759 ! Node: ASINH127704 ! Node: ASSOCIATED128657 ! Node: ATAN131482 ! Node: ATAN2132316 ! Node: ATANH133595 ! Node: BESJ0134577 ! Node: BESJ1135491 ! Node: BESJN136411 ! Node: BESY0137502 ! Node: BESY1138360 ! Node: BESYN139218 ! Node: BIT_SIZE140363 ! Node: BTEST141112 ! Node: C_ASSOCIATED141960 ! Node: C_FUNLOC143147 ! Node: C_F_PROCPOINTER144509 ! Node: C_F_POINTER146146 ! Node: C_LOC147629 ! Node: CEILING148748 ! Node: CHAR149709 ! Node: CHDIR150796 ! Node: CHMOD152016 ! Node: CMPLX153779 ! Node: COMMAND_ARGUMENT_COUNT155318 ! Node: COMPLEX156208 ! Node: CONJG157363 ! Node: COS158372 ! Node: COSH159585 ! Node: COUNT160403 ! Node: CPU_TIME162230 ! Node: CSHIFT163583 ! Node: CTIME165232 ! Node: DATE_AND_TIME166455 ! Node: DBLE168818 ! Node: DCMPLX169658 ! Node: DFLOAT170897 ! Node: DIGITS171594 ! Node: DIM172538 ! Node: DOT_PRODUCT173674 ! Node: DPROD175104 ! Node: DREAL175823 ! Node: DTIME176487 ! Node: EOSHIFT179293 ! Node: EPSILON181358 ! Node: ERF182054 ! Node: ERFC182851 ! Node: ETIME183666 ! Node: EXIT185890 ! Node: EXP186749 ! Node: EXPONENT187846 ! Node: FDATE188592 ! Node: FLOAT189812 ! Node: FGET190522 ! Node: FGETC192315 ! Node: FLOOR194063 ! Node: FLUSH195005 ! Node: FNUM195643 ! Node: FPUT196365 ! Node: FPUTC197946 ! Node: FRACTION199666 ! Node: FREE200560 ! Node: FSEEK201397 ! Node: FSTAT203691 ! Node: FTELL204755 ! Node: GAMMA205733 ! Node: GERROR206762 ! Node: GETARG207470 ! Node: GET_COMMAND209145 ! Node: GET_COMMAND_ARGUMENT210025 ! Node: GETCWD211421 ! Node: GETENV212358 ! Node: GET_ENVIRONMENT_VARIABLE213522 ! Node: GETGID214456 ! Node: GETLOG214991 ! Node: GETPID215820 ! Node: GETUID216548 ! Node: GMTIME217062 ! Node: HOSTNM218617 ! Node: HUGE219554 ! Node: IACHAR220267 ! Node: IAND221415 ! Node: IARGC222403 ! Node: IBCLR223419 ! Node: IBITS224082 ! Node: IBSET225002 ! Node: ICHAR225660 ! Node: IDATE227613 ! Node: IEOR228631 ! Node: IERRNO229510 ! Node: INDEX intrinsic230065 ! Node: INT231391 ! Node: INT2232915 ! Node: INT8233695 ! Node: IOR234422 ! Node: IRAND235275 ! Node: IS_IOSTAT_END236630 ! Node: IS_IOSTAT_EOR237716 ! Node: ISATTY238832 ! Node: ISHFT239619 ! Node: ISHFTC240601 ! Node: ISNAN241822 ! Node: ITIME242570 ! Node: KILL243586 ! Node: KIND244501 ! Node: LBOUND245339 ! Node: LEN246623 ! Node: LEN_TRIM247689 ! Node: LGAMMA248648 ! Node: LGE249710 ! Node: LGT251013 ! Node: LINK252283 ! Node: LLE253318 ! Node: LLT254615 ! Node: LNBLNK255878 ! Node: LOC256657 ! Node: LOG257388 ! Node: LOG10258590 ! Node: LOGICAL259456 ! Node: LONG260283 ! Node: LSHIFT261054 ! Node: LSTAT262017 ! Node: LTIME263178 ! Node: MALLOC264657 ! Node: MATMUL266321 ! Node: MAX267508 ! Node: MAXEXPONENT269021 ! Node: MAXLOC269830 ! Node: MAXVAL271963 ! Node: MCLOCK273755 ! Node: MCLOCK8274758 ! Node: MERGE275972 ! Node: MIN276733 ! Node: MINEXPONENT278243 ! Node: MINLOC278866 ! Node: MINVAL280999 ! Node: MOD282765 ! Node: MODULO284142 ! Node: MOVE_ALLOC285349 ! Node: MVBITS286407 ! Node: NEAREST287490 ! Node: NEW_LINE288606 ! Node: NINT289391 ! Node: NOT290411 ! Node: NULL290993 ! Node: OR291877 ! Node: PACK293020 ! Node: PERROR295005 ! Node: PRECISION295595 ! Node: PRESENT296414 ! Node: PRODUCT297513 ! Node: RADIX299040 ! Node: RAN299810 ! Node: RAND300266 ! Node: RANDOM_NUMBER301601 ! Node: RANDOM_SEED303331 ! Node: RANGE305207 ! Node: REAL305827 ! Node: RENAME307328 ! Node: REPEAT308347 ! Node: RESHAPE309072 ! Node: RRSPACING310534 ! Node: RSHIFT311220 ! Node: SCALE312191 ! Node: SCAN312958 ! Node: SECNDS314487 ! Node: SECOND315575 ! Node: SELECTED_INT_KIND316450 ! Node: SELECTED_REAL_KIND317606 ! Node: SET_EXPONENT319545 ! Node: SHAPE320534 ! Node: SIGN321640 ! Node: SIGNAL322716 ! Node: SIN324213 ! Node: SINH325254 ! Node: SIZE326011 ! Node: SIZEOF327290 ! Node: SLEEP328549 ! Node: SNGL329106 ! Node: SPACING329770 ! Node: SPREAD330778 ! Node: SQRT331916 ! Node: SRAND333100 ! Node: STAT334259 ! Node: SUM337374 ! Node: SYMLNK338845 ! Node: SYSTEM339977 ! Node: SYSTEM_CLOCK340925 ! Node: TAN342262 ! Node: TANH343043 ! Node: TIME343855 ! Node: TIME8344959 ! Node: TINY346096 ! Node: TRANSFER346691 ! Node: TRANSPOSE348716 ! Node: TRIM349400 ! Node: TTYNAM350256 ! Node: UBOUND351177 ! Node: UMASK352518 ! Node: UNLINK353106 ! Node: UNPACK354083 ! Node: VERIFY355363 ! Node: XOR357060 ! Node: Intrinsic Modules358232 ! Node: Contributing363058 ! Node: Contributors363910 ! Node: Projects365533 ! Node: Proposed Extensions366336 ! Node: Copying368387 ! Node: GNU Free Documentation License405951 ! Node: Funding428363 ! Node: Option Index430888 ! Node: Keyword Index438489  End Tag Table --- 13936,14226 ----  Tag Table: ! Node: Top2070 ! Node: Introduction3287 ! Node: About GNU Fortran4032 ! Node: GNU Fortran and GCC8090 ! Node: Preprocessing and conditional compilation10180 ! Node: GNU Fortran and G7711621 ! Node: Project Status12194 ! Node: Standards14692 ! Node: Invoking GNU Fortran15349 ! Node: Option Summary17009 ! Node: Fortran Dialect Options19903 ! Node: Error and Warning Options25646 ! Node: Debugging Options31811 ! Node: Directory Options33977 ! Node: Link Options35504 ! Node: Runtime Options36128 ! Node: Code Gen Options37831 ! Node: Environment Variables48398 ! Node: Runtime49001 ! Node: GFORTRAN_STDIN_UNIT50220 ! Node: GFORTRAN_STDOUT_UNIT50587 ! Node: GFORTRAN_STDERR_UNIT50988 ! Node: GFORTRAN_USE_STDERR51386 ! Node: GFORTRAN_TMPDIR51831 ! Node: GFORTRAN_UNBUFFERED_ALL52272 ! Node: GFORTRAN_UNBUFFERED_PRECONNECTED52795 ! Node: GFORTRAN_SHOW_LOCUS53436 ! Node: GFORTRAN_OPTIONAL_PLUS53930 ! Node: GFORTRAN_DEFAULT_RECL54405 ! Node: GFORTRAN_LIST_SEPARATOR54896 ! Node: GFORTRAN_CONVERT_UNIT55505 ! Node: GFORTRAN_ERROR_DUMPCORE58380 ! Node: GFORTRAN_ERROR_BACKTRACE58927 ! Node: Fortran 2003 status59478 ! Node: Extensions61147 ! Node: Extensions implemented in GNU Fortran61741 ! Node: Old-style kind specifications63061 ! Node: Old-style variable initialization63926 ! Node: Extensions to namelist65238 ! Node: X format descriptor without count field67234 ! Node: Commas in FORMAT specifications67761 ! Node: Missing period in FORMAT specifications68278 ! Node: I/O item lists68840 ! Node: BOZ literal constants69229 ! Node: Real array indices71798 ! Node: Unary operators72095 ! Node: Implicitly convert LOGICAL and INTEGER values72509 ! Node: Hollerith constants support73469 ! Node: Cray pointers75241 ! Node: CONVERT specifier80651 ! Node: OpenMP82653 ! Node: Argument list functions84907 ! Node: Extensions not implemented in GNU Fortran86501 ! Node: STRUCTURE and RECORD87352 ! Node: ENCODE and DECODE statements89409 ! Node: Intrinsic Procedures90727 ! Node: Introduction to Intrinsics104019 ! Node: ABORT106332 ! Node: ABS107035 ! Node: ACCESS108527 ! Node: ACHAR110416 ! Node: ACOS111356 ! Node: ACOSH112286 ! Node: ADJUSTL113259 ! Node: ADJUSTR114153 ! Node: AIMAG115053 ! Node: AINT116463 ! Node: ALARM117908 ! Node: ALL119542 ! Node: ALLOCATED121459 ! Node: AND122325 ! Node: ANINT123487 ! Node: ANY124825 ! Node: ASIN126754 ! Node: ASINH127699 ! Node: ASSOCIATED128652 ! Node: ATAN131477 ! Node: ATAN2132311 ! Node: ATANH133590 ! Node: BESJ0134572 ! Node: BESJ1135486 ! Node: BESJN136406 ! Node: BESY0137497 ! Node: BESY1138355 ! Node: BESYN139213 ! Node: BIT_SIZE140358 ! Node: BTEST141107 ! Node: C_ASSOCIATED141955 ! Node: C_FUNLOC143142 ! Node: C_F_PROCPOINTER144504 ! Node: C_F_POINTER146141 ! Node: C_LOC147624 ! Node: CEILING148743 ! Node: CHAR149704 ! Node: CHDIR150791 ! Node: CHMOD152011 ! Node: CMPLX153774 ! Node: COMMAND_ARGUMENT_COUNT155313 ! Node: COMPLEX156203 ! Node: CONJG157358 ! Node: COS158367 ! Node: COSH159580 ! Node: COUNT160398 ! Node: CPU_TIME162225 ! Node: CSHIFT163578 ! Node: CTIME165227 ! Node: DATE_AND_TIME166450 ! Node: DBLE168813 ! Node: DCMPLX169653 ! Node: DFLOAT170892 ! Node: DIGITS171589 ! Node: DIM172533 ! Node: DOT_PRODUCT173669 ! Node: DPROD175099 ! Node: DREAL175818 ! Node: DTIME176482 ! Node: EOSHIFT179288 ! Node: EPSILON181353 ! Node: ERF182049 ! Node: ERFC182846 ! Node: ETIME183661 ! Node: EXIT185885 ! Node: EXP186744 ! Node: EXPONENT187841 ! Node: FDATE188587 ! Node: FLOAT189807 ! Node: FGET190517 ! Node: FGETC192310 ! Node: FLOOR194058 ! Node: FLUSH195000 ! Node: FNUM195638 ! Node: FPUT196360 ! Node: FPUTC197941 ! Node: FRACTION199661 ! Node: FREE200555 ! Node: FSEEK201392 ! Node: FSTAT203686 ! Node: FTELL204750 ! Node: GAMMA205728 ! Node: GERROR206757 ! Node: GETARG207465 ! Node: GET_COMMAND209140 ! Node: GET_COMMAND_ARGUMENT210020 ! Node: GETCWD211416 ! Node: GETENV212353 ! Node: GET_ENVIRONMENT_VARIABLE213517 ! Node: GETGID214451 ! Node: GETLOG214986 ! Node: GETPID215815 ! Node: GETUID216543 ! Node: GMTIME217057 ! Node: HOSTNM218612 ! Node: HUGE219549 ! Node: IACHAR220262 ! Node: IAND221410 ! Node: IARGC222398 ! Node: IBCLR223414 ! Node: IBITS224077 ! Node: IBSET224997 ! Node: ICHAR225655 ! Node: IDATE227608 ! Node: IEOR228626 ! Node: IERRNO229505 ! Node: INDEX intrinsic230060 ! Node: INT231386 ! Node: INT2232910 ! Node: INT8233690 ! Node: IOR234417 ! Node: IRAND235270 ! Node: IS_IOSTAT_END236625 ! Node: IS_IOSTAT_EOR237711 ! Node: ISATTY238827 ! Node: ISHFT239614 ! Node: ISHFTC240596 ! Node: ISNAN241817 ! Node: ITIME242565 ! Node: KILL243581 ! Node: KIND244496 ! Node: LBOUND245334 ! Node: LEN246618 ! Node: LEN_TRIM247684 ! Node: LGAMMA248643 ! Node: LGE249705 ! Node: LGT251008 ! Node: LINK252278 ! Node: LLE253313 ! Node: LLT254610 ! Node: LNBLNK255873 ! Node: LOC256652 ! Node: LOG257383 ! Node: LOG10258585 ! Node: LOGICAL259451 ! Node: LONG260278 ! Node: LSHIFT261049 ! Node: LSTAT262012 ! Node: LTIME263173 ! Node: MALLOC264652 ! Node: MATMUL266316 ! Node: MAX267503 ! Node: MAXEXPONENT269016 ! Node: MAXLOC269825 ! Node: MAXVAL271958 ! Node: MCLOCK273750 ! Node: MCLOCK8274753 ! Node: MERGE275967 ! Node: MIN276728 ! Node: MINEXPONENT278238 ! Node: MINLOC278861 ! Node: MINVAL280994 ! Node: MOD282760 ! Node: MODULO284137 ! Node: MOVE_ALLOC285344 ! Node: MVBITS286402 ! Node: NEAREST287485 ! Node: NEW_LINE288601 ! Node: NINT289386 ! Node: NOT290406 ! Node: NULL290988 ! Node: OR291872 ! Node: PACK293015 ! Node: PERROR295000 ! Node: PRECISION295590 ! Node: PRESENT296409 ! Node: PRODUCT297508 ! Node: RADIX299035 ! Node: RAN299805 ! Node: RAND300261 ! Node: RANDOM_NUMBER301596 ! Node: RANDOM_SEED303326 ! Node: RANGE305202 ! Node: REAL305822 ! Node: RENAME307323 ! Node: REPEAT308342 ! Node: RESHAPE309067 ! Node: RRSPACING310529 ! Node: RSHIFT311215 ! Node: SCALE312186 ! Node: SCAN312953 ! Node: SECNDS314482 ! Node: SECOND315570 ! Node: SELECTED_INT_KIND316445 ! Node: SELECTED_REAL_KIND317601 ! Node: SET_EXPONENT319540 ! Node: SHAPE320529 ! Node: SIGN321635 ! Node: SIGNAL322711 ! Node: SIN324208 ! Node: SINH325249 ! Node: SIZE326006 ! Node: SIZEOF327285 ! Node: SLEEP328544 ! Node: SNGL329101 ! Node: SPACING329765 ! Node: SPREAD330773 ! Node: SQRT331911 ! Node: SRAND333095 ! Node: STAT334254 ! Node: SUM337369 ! Node: SYMLNK338840 ! Node: SYSTEM339972 ! Node: SYSTEM_CLOCK340920 ! Node: TAN342257 ! Node: TANH343038 ! Node: TIME343850 ! Node: TIME8344954 ! Node: TINY346091 ! Node: TRANSFER346686 ! Node: TRANSPOSE348711 ! Node: TRIM349395 ! Node: TTYNAM350251 ! Node: UBOUND351172 ! Node: UMASK352513 ! Node: UNLINK353101 ! Node: UNPACK354078 ! Node: VERIFY355358 ! Node: XOR357055 ! Node: Intrinsic Modules358227 ! Node: Contributing363053 ! Node: Contributors363905 ! Node: Projects365528 ! Node: Proposed Extensions366331 ! Node: Copying368382 ! Node: GNU Free Documentation License405946 ! Node: Funding428358 ! Node: Option Index430883 ! Node: Keyword Index438484  End Tag Table diff -Nrcpad gcc-4.3.5/gcc/fortran/simplify.c gcc-4.3.6/gcc/fortran/simplify.c *** gcc-4.3.5/gcc/fortran/simplify.c Mon Jan 26 05:43:44 2009 --- gcc-4.3.6/gcc/fortran/simplify.c Thu Dec 9 13:30:59 2010 *************** is_constant_array_expr (gfc_expr *e) *** 3257,3263 **** return false; for (c = e->value.constructor; c; c = c->next) ! if (c->expr->expr_type != EXPR_CONSTANT) return false; return true; --- 3257,3264 ---- return false; for (c = e->value.constructor; c; c = c->next) ! if (c->expr->expr_type != EXPR_CONSTANT ! && c->expr->expr_type != EXPR_STRUCTURE) return false; return true; *************** inc: *** 3486,3491 **** --- 3487,3497 ---- e->ts = source->ts; e->rank = rank; + if (source->ts.type == BT_CHARACTER) + e->ts.cl = source->ts.cl; + else if (source->ts.type == BT_DERIVED) + e->ts.derived = source->ts.derived; + return e; bad_reshape: diff -Nrcpad gcc-4.3.5/libgfortran/ChangeLog gcc-4.3.6/libgfortran/ChangeLog *** gcc-4.3.5/libgfortran/ChangeLog Sat May 22 17:53:34 2010 --- gcc-4.3.6/libgfortran/ChangeLog Mon Jun 27 11:14:35 2011 *************** *** 1,3 **** --- 1,7 ---- + 2011-06-27 Release Manager + + * GCC 4.3.6 released. + 2010-05-22 Release Manager * GCC 4.3.5 released.