aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2008-11-24re PR fortran/34820 (internal compiler error: in ↵Paul Thomas10-38/+255
gfc_conv_descriptor_data_get, at fortran/trans-array.c:147) 2008-11-24 Paul Thomas <pault@gcc.gnu.org> PR fortran/34820 * trans-expr.c (gfc_conv_function_call): Remove all code to deallocate intent out derived types with allocatable components. (gfc_trans_assignment_1): An assignment from a scalar to an array of derived types with allocatable components, requires a deep copy to each array element and deallocation of the converted rhs expression afterwards. * trans-array.c : Minor whitespace. * trans-decl.c (init_intent_out_dt): Add code to deallocate allocatable components of derived types with intent out. (generate_local_decl): If these types are unused, set them referenced anyway but allow the uninitialized warning. PR fortran/34143 * trans-expr.c (gfc_trans_subcomponent_assign): If a conversion expression has a null data pointer argument, nullify the allocatable component. PR fortran/32795 * trans-expr.c (gfc_trans_subcomponent_assign): Only nullify the data pointer if the source is not a variable. 2008-11-24 Paul Thomas <pault@gcc.gnu.org> PR fortran/34820 * gfortran.dg/alloc_comp_constructor_6.f90 : New test. * gfortran.dg/alloc_comp_basics_1.f90 : Reduce expected refs to 'builtin_free' from 24 to 18. PR fortran/34143 * gfortran.dg/alloc_comp_constructor_5.f90 : New test. PR fortran/32795 * gfortran.dg/alloc_comp_constructor_4.f90 : New test. From-SVN: r142148
2008-11-24pa.c (function_arg): Revert 2008-10-26 change.John David Anglin2-1/+5
* pa.c (function_arg): Revert 2008-10-26 change. From-SVN: r142147
2008-11-24Daily bump.GCC Administrator1-1/+1
From-SVN: r142145
2008-11-23re PR fortran/37735 (Allocatable components in vectors of derived types ↵Paul Thomas4-4/+57
cause ICE on assignment) 2008-11-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/37735 * trans-array.c (structure_alloc_comps): Do not duplicate the descriptor if this is a descriptorless array! 2008-11-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/37735 * gfortran.dg/alloc_comp_assign_7.f90: New test. From-SVN: r142142
2008-11-23linux-atomic.c (EBUSY): Define if not _LP64.Helge Deller2-1/+15
* pa/linux-atomic.c (EBUSY): Define if not _LP64. (__kernel_cmpxchg): Return -EBUSY if the kernel LWS call succeeded and lws_ret is not equal to oldval. From-SVN: r142141
2008-11-23tmplattr9.C: Require weak.John David Anglin2-0/+2
* g++.dg/ext/tmplattr9.C: Require weak. From-SVN: r142139
2008-11-23static6.C: Remove xfail for *-*-hpux*.John David Anglin2-1/+5
* g++.old-deja/g++.pt/static6.C: Remove xfail for *-*-hpux*. From-SVN: r142138
2008-11-23re PR libfortran/38234 (In Reshape, SOURCE can be bigger than result)Thomas Koenig2-0/+20
2008-11-23 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/38234 * intrinsics/reshape_generic.c (reshape_internal): Source can be larger than shape. * m4/reshape.m4: Likewise. * generated/reshape_c10.c Regenerated. * generated/reshape_c16.c Regenerated. * generated/reshape_c4.c Regenerated. * generated/reshape_c8.c Regenerated. * generated/reshape_i16.c Regenerated. * generated/reshape_i4.c Regenerated. * generated/reshape_i8.c Regenerated. * generated/reshape_r10.c Regenerated. * generated/reshape_r16.c Regenerated. * generated/reshape_r4.c Regenerated. * generated/reshape_r8.c Regenerated. 2008-11-23 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/38234 * gfortran.dg/reshape_4.f90: New test. From-SVN: r142137
2008-11-23* ru.po: Update.Joseph Myers2-79/+83
From-SVN: r142135
2008-11-23sh.md (consttable_4): Call mark_symbol_refs_as_used.Kaz Kojima2-1/+8
* config/sh/sh.md (consttable_4): Call mark_symbol_refs_as_used. From-SVN: r142132
2008-11-23Daily bump.GCC Administrator1-1/+1
From-SVN: r142129
2008-11-22varasm.c (default_file_start): Suppress ASM_APP_OFF also with -dA and -dP.Andreas Schwab2-1/+7
* varasm.c (default_file_start): Suppress ASM_APP_OFF also with -dA and -dP. From-SVN: r142126
2008-11-22re PR libfortran/38225 (RESHAPE bounds with multi-dimensional SOURCE)Thomas Koenig2-0/+17
2008-11-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/38225 * intrinsics/reshape_generic.c (reshape_internal): Use all dimensions of source for bounds checking. * m4/reshape.m4: Likewise. * generated/reshape_c10.c Regenerated. * generated/reshape_c16.c Regenerated. * generated/reshape_c4.c Regenerated. * generated/reshape_c8.c Regenerated. * generated/reshape_i16.c Regenerated. * generated/reshape_i4.c Regenerated. * generated/reshape_i8.c Regenerated. * generated/reshape_r10.c Regenerated. * generated/reshape_r16.c Regenerated. * generated/reshape_r4.c Regenerated. * generated/reshape_r8.c Regenerated. 2008-11-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/38225 * gfortran.dg/reshape_3.f90: New test. From-SVN: r142125
2008-11-22re PR fortran/38160 (C Binding: Kind parameter checking too strict and too late)Tobias Burnus10-52/+70
2008-11-22 Tobias Burnus <burnus@net-b.de> PR fortran/38160 * trans-types.c (gfc_validate_c_kind): Remove function. * decl.c (gfc_match_kind_spec): Add C kind parameter check. (verify_bind_c_derived_type): Remove gfc_validate_c_kind call. (verify_c_interop_param): Update call. * gfortran.h (verify_bind_c_derived_type): Update prototype. (gfc_validate_c_kind): Remove. * symbol.c (verify_bind_c_derived_type): Update verify_c_interop * call. * resolve.c (gfc_iso_c_func_interface): Ditto. 2008-11-22 Tobias Burnus <burnus@net-b.de> PR fortran/38160 * gfortran.dg/bind_c_usage_18.f90: New test. * gfortran.dg/c_kind_tests_2.f03: Update dg-messages. * gfortran.dg/interop_params.f03: Ditto. From-SVN: r142124
2008-11-22mips.md (rdhwr): Rename to rdhwr_synci_step_<mode>.Adam Nemet3-6/+16
* config/mips/mips.md (rdhwr): Rename to rdhwr_synci_step_<mode>. Use constant 1 as the operand. * config/mips/mips.c (mips_expand_synci_loop): Make INC Pmode. Rename gen_rdhwr to gen_rdhwr_synci_step_si or gen_rdhwr_synci_step_di depending on the size of Pmode. From-SVN: r142123
2008-11-22Fix ChangeLog entry for config/i386/avxintrin.h.H.J. Lu1-1/+1
From-SVN: r142122
2008-11-22re PR target/38222 (gcc.target/i386/sse4_2-popcntl.c fails on ↵Uros Bizjak4-62/+55
i686-apple-darwin9) PR target/38222 * config/i386/i386.md (SWI248): New mode iterator. (SWI32): Remove mode iterator. (popcount<mode>2): Rename from popcounthi2, popcountsi2 and popcounthi2 insn patterns. Macroize pattern using SWI248 mode iterator. Generate popcnt mnemonic without mode extensions for Darwin x86 targets. (*popcount<mode>2_cmp): Ditto. (*popcountsi2_cmp_zext): Generate popcnt mnemonic without mode extensions for Darwin x86 targets. testsuite/ChangeLog: PR target/38222 * gcc.target/i386/funcspec-3.c: Scan for popcnt on Darwin targets. From-SVN: r142121
2008-11-22sparc.c (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define only if ↵Eric Botcazou2-1/+6
HAVE_AS_SPARC_UA_PCREL is defined. * config/sparc/sparc.c (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define only if HAVE_AS_SPARC_UA_PCREL is defined. From-SVN: r142118
2008-11-22ira-costs.c (find_allocno_class_costs): Work out the maximum allocno_costs ↵Richard Sandiford2-15/+38
value of the classees with the lowest... gcc/ * ira-costs.c (find_allocno_class_costs): Work out the maximum allocno_costs value of the classees with the lowest total_costs value. Use this to set ALLOCNO_COVER_CLASS_COST here... (setup_allocno_cover_class_and_costs): ...rather than here. Use the ALLOCNO_COVER_CLASS_COST for all registers in the preferred class. From-SVN: r142117
2008-11-22re PR middle-end/37323 (__builtin_apply failures)Jakub Jelinek2-1/+5
PR middle-end/37323 * builtins.c (expand_builtin_apply_args): Emit sequence before parm_birth_insn instead of after entry_of_function's first insn. From-SVN: r142116
2008-11-22re PR middle-end/37316 (Small structs are not passed correctly on hppa64-*-*)Jakub Jelinek2-1/+5
PR middle-end/37316 * function.c (assign_parm_remove_parallels): Pass data->passed_type as third argument to emit_group_store. From-SVN: r142115
2008-11-22re PR target/37170 (gcc.dg/weak/weak-1.c)Jakub Jelinek1-0/+7
PR target/37170 * final.c (mark_symbol_refs_as_used): New function. * output.h (mark_symbol_refs_as_used): New prototype. * config/s390/s390.c (s390_mark_symbol_ref_as_used): Removed. (s390_output_pool_entry): Use mark_symbol_refs_as_used. * config/arm/arm.md (consttable_4): Likewise. From-SVN: r142114
2008-11-22re PR target/37170 (gcc.dg/weak/weak-1.c)Jakub Jelinek4-23/+17
PR target/37170 * final.c (mark_symbol_refs_as_used): New function. * output.h (mark_symbol_refs_as_used): New prototype. * config/s390/s390.c (s390_mark_symbol_ref_as_used): Removed. (s390_output_pool_entry): Use mark_symbol_refs_as_used. * config/arm/arm.md (consttable_4): Likewise. From-SVN: r142113
2008-11-22re PR target/37880 (Documentation of option -mcmodel=medium is wrong)Jakub Jelinek2-1/+6
PR target/37880 * doc/invoke.texi: Adjust wording of -mcmodel=medium description. From-SVN: r142112
2008-11-22re PR libfortran/37839 (st_parameter_dt has unwanted padding, is out of sync ↵Jakub Jelinek11-16/+56
with compiler) PR libfortran/37839 * trans-io.c (gfc_build_io_library_fndecls): Decrease pad size back to 16 pointers plus 32 integers. Don't use max integer kind alignment, only gfc_intio_kind's alignment. (gfc_trans_inquire): Only set flags2 if mask2 is non-zero. * ioparm.def: Fix order, bitmasks and types of inquire round, sign and pending fields. Move u in dt before id. * io.c (gfc_free_inquire): Free decimal and size exprs. (match_inquire_element): Match size instead of matching blank twice. (gfc_resolve_inquire): Resolve size. * gfortran.dg/f2003_inquire_1.f03: New test. * gfortran.dg/f2003_io_1.f03: Remove xfail. * gfortran.dg/f2003_io_4.f03: Likewise. * gfortran.dg/f2003_io_5.f03: Likewise. * gfortran.dg/f2003_io_6.f03: Likewise. * gfortran.dg/f2003_io_7.f03: Likewise. * io/io.h (IOPARM_INQUIRE_HAS_ROUND, IOPARM_INQUIRE_HAS_SIGN, IOPARM_INQUIRE_HAS_PENDING): Adjust values. (st_parameter_inquire): Reorder and fix types of round, sign and pending fields. (st_parameter_43, st_parameter_44): Removed. (st_parameter_dt): Put back struct definition directly to u.p declaration. Change type of u.p.size_used from gfc_offset to GFC_IO_INT. Decrease back size of u.pad to 16 pointers and 32 ints. Put id, pos, asynchronous, blank, decimal, delim, pad, round and sign fields after the union. * io/inquire.c (inquire_via_unit, inquire_via_filename): Only read flags2 if it is defined. * io/transfer.c (read_sf, read_block_form, write_block): Cast additions to size_used to GFC_IO_INT instead of gfc_offset. (data_transfer_init): Clear whole u.p struct. Adjust for moving id, pos, asynchronous, blank, decimal, delim, pad, round and sign fields from u.p directly into st_parameter_dt. (finalize_transfer): Don't cast size_used to GFC_IO_INT. * io/file_pos.c (st_endfile): Clear whole u.p struct. From-SVN: r142111
2008-11-22Daily bump.GCC Administrator1-1/+1
From-SVN: r142108
2008-11-21re PR middle-end/38200 (internal compiler error: in find_func_aliases, at ↵Jakub Jelinek4-22/+38
tree-ssa-structalias.c:3905) PR middle-end/38200 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only propagate x = &a into *x = b if conversion from b to a's type is useless. * gcc.dg/pr38200.c: New test. From-SVN: r142100
2008-11-21caller-save.c (insert_one_insn): Take into account REG_INC notes for the ↵Eric Botcazou2-2/+9
liveness computation of the new insn. * caller-save.c (insert_one_insn): Take into account REG_INC notes for the liveness computation of the new insn. From-SVN: r142099
2008-11-21stormy16.md (movqi_internal, [...]): Moves to/from below100 space (W) can ↵DJ Delorie2-3/+8
only use r0-r7. * config/stormy16/stormy16.md (movqi_internal, movhi_internal): Moves to/from below100 space (W) can only use r0-r7. From-SVN: r142098
2008-11-21re PR other/38214 (Unrecognized command line option "-fipa-marix-reorg" ↵Paolo Carlini2-1/+6
although it's documented) 2008-11-21 Paolo Carlini <paolo.carlini@oracle.com> PR other/38214 * doc/invoke.texi (Optimization Options): Fix typo. From-SVN: r142092
2008-11-21Add the new file.H.J. Lu1-0/+62
From-SVN: r142091
2008-11-21config.gcc (extra_headers): For x86 and x86-64, remove gmmintrin.h, add ↵H.J. Lu9-23/+33
immintrin.h and avxintrin.h. gcc/ 2008-11-21 H.J. Lu <hongjiu.lu@intel.com> Xuepeng Guo <xuepeng.guo@intel.com> * config.gcc (extra_headers): For x86 and x86-64, remove gmmintrin.h, add immintrin.h and avxintrin.h. * config/i386/gmmintrin.h: Renamed to ... * config/i386/avxintrin.h: This. Don't include intrinsics if _IMMINTRIN_H_INCLUDED is undedined. * config/i386/immintrin.h: New. gcc/testsuite/ 2008-11-21 H.J. Lu <hongjiu.lu@intel.com> * gcc.target/i386/avx-1.c: Include <immintrin.h> instead of <gmmintrin.h>. * gcc.target/i386/avx-2.c: Likewise. * gcc.target/i386/m256-check.h: Likewise. * g++.dg/other/i386-5.C: Likewise. * g++.dg/other/i386-6.C: Likewise. Co-Authored-By: Xuepeng Guo <xuepeng.guo@intel.com> From-SVN: r142090
2008-11-21re PR target/38208 (gcc.c-torture/compile/20080806-1.c)Jakub Jelinek2-2/+8
PR target/38208 * reload1.c (eliminate_regs_in_insn): For trunc_int_for_mode use mode of PLUS, not mode of the eliminated register. From-SVN: r142088
2008-11-21mmx.md (mmx_nand<mode>3): Rename to mmx_andnot<mode>3.Uros Bizjak4-16/+34
* config/i386/mmx.md (mmx_nand<mode>3): Rename to mmx_andnot<mode>3. * config/i386/sse.md (avx_nand<mode>3): Rename to avx_andnot<mode>3. (<sse>_nand<mode>3): Rename to <sse>_andnot<mode>3. (sse2_nand<mode>3): Rename to sse2_andnot<mode>3. (*sse_nand<mode>3): Rename to *sse_andnot<mode>3. (*avx_nand<mode>3): Rename to *avx_andnot<mode>3. (*nand<mode>3): Rename to *andnot<mode>3. (*nandtf3): rename to *andnottf3. * config/i386/i386.c (bdesc_args) [IX86_BUILTIN_PANDN]: Use CODE_FOR_mmx_andnotv2si3. [IX86_BUILTIN_ANDNPS]: Use CODE_FOR_sse_andnotv4sf3. [IX86_BUILTIN_ANDNPD]: Use CODE_FOR_sse2_andnotv2df3. [IX86_BUILTIN_PANDN128]: Use CODE_FOR_sse2_andnotv2di3. [IX86_BUILTIN_ANDNPS256]: Use CODE_FOR_avx_andnotv8sf3. [IX86_BUILTIN_ANDNPD256]: Use CODE_FOR_avx_andnotv4df3. From-SVN: r142083
2008-11-21re PR middle-end/37908 (atomic NAND op generate wrong code; ↵Uros Bizjak4-17/+29
__sync_nand_and_fetch, __sync_fetch_and_nand) PR middle-end/37908 * config/ia64/ia64.c (ia64_expand_atomic_ope): Properly handle NAND case by calculating ~(new_reg & val) instead of (~new_reg & val). * config/ia64/sync.md (sync_nand<mode>): Change insn RTX to (not:IMODE (and:IMODE (...))). (sync_old_nand<mode>): Ditto. (sync_new_nand<mode>): Ditto. From-SVN: r142082
2008-11-21re PR fortran/37472 (bad output on default-format write of double in common ↵Jerry DeLisle2-1/+6
block with -m64) 2008-11-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/37472 * gfortran.dg/namelist_print_1.f: Update test. From-SVN: r142080
2008-11-21Daily bump.GCC Administrator1-1/+1
From-SVN: r142075
2008-11-20thumb2.md (thumb2_casesi_internal, [...]): Use earlyclobber for scratch ↵Joseph Myers2-2/+8
operand 4. * config/arm/thumb2.md (thumb2_casesi_internal, thumb2_casesi_internal_pic): Use earlyclobber for scratch operand 4. From-SVN: r142070
2008-11-20sync-2.c: Add type cast to avoid folding.Andreas Krebbel3-2/+7
2008-11-20 Andreas Krebbel <krebbel1@de.ibm.com> * gcc.dg/sync-2.c: Add type cast to avoid folding. * gcc.dg/sync-3.c: Likewise. From-SVN: r142064
2008-11-20s390.c (s390_expand_atomic): Adjust QI/HI atomic nand to the changed 4.4 ↵Andreas Krebbel2-2/+7
semantic. 2008-11-20 Andreas Krebbel <krebbel1@de.ibm.com> * gcc/config/s390/s390.c (s390_expand_atomic): Adjust QI/HI atomic nand to the changed 4.4 semantic. From-SVN: r142063
2008-11-20re PR middle-end/29215 (extra store for memcpy)Jakub Jelinek8-35/+148
PR middle-end/29215 * builtins.c (SLOW_UNALIGNED_ACCESS): Define if not defined. (fold_builtin_memory_op): Handle even the case where just one of src and dest is an address of a var decl component, using TYPE_REF_CAN_ALIAS_ALL pointers. Remove is_gimple_min_invariant and readonly_data_expr src check. * tree-ssa-sccvn.c (DFS): Use clear_and_done_ssa_iter to shut up warnings. * trans-array.c (trans_array_constructor_value, gfc_build_constant_array_constructor): Fill in TREE_PURPOSE. * gfortran.dg/array_memcpy_3.f90: Adjust pattern to match even memcpy optimized into ref-all store. * gcc.dg/pr29215.c: New test. From-SVN: r142061
2008-11-20re PR rtl-optimization/36998 (Ada bootstrap broken on i586-*-*)Jakub Jelinek2-14/+66
PR rtl-optimization/36998 * dwarf2out.c (stack_adjust_offset): Add cur_args_size and cur_offset arguments. Handle sp = reg and (set (foo) (mem (pre_inc (reg sp)))). (compute_barrier_args_size_1, dwarf2out_frame_debug_expr): Adjust stack_adjust_offset callers. (dwarf2out_stack_adjust): Likewise. Handle insns in annulled branches properly. (compute_barrier_args_size): Handle insns in annulled branches properly. From-SVN: r142060
2008-11-20re PR middle-end/38151 (structures with _Complex arguments are not passed ↵Uros Bizjak4-16/+76
correctly) PR target/38151 * config/i386/i386.c (classify_argument) [integer mode size <= 64bit]: Handle cases when integer argument crosses argument register boundary. testsuite/ChangeLog: PR target/38151 * gcc.target/i386/pr38151-1.c: New test. From-SVN: r142059
2008-11-20* gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.Eric Botcazou1-0/+4
From-SVN: r142058
2008-11-20Follow up fix for GC19-015:Eric Botcazou1-1/+2
* utils.c (init_gigi_decls): Fix type mismatch. From-SVN: r142057
2008-11-20re PR c++/28513 (QOI: Diagnostic missing since 3.3.x when naming rule is ↵Jason Merrill4-0/+20
violated) PR c++/28513 * parser.c (cp_parser_class_name): Call maybe_note_name_used_in_class. From-SVN: r142056
2008-11-20re PR c++/37540 (ICE on __decltype of method call in function template)Jason Merrill4-6/+42
PR c++/37540 * call.c (build_over_call): Take the address of the function even in a template. (build_new_method_call): Remember the type of the called function in a template. From-SVN: r142054
2008-11-20re PR bootstrap/33100 (on bootstrap getting section .eh_frame: bad cie ↵Rainer Orth3-42/+13
version 0: offset 0x0) gcc: PR bootstrap/33100 * config.gcc (i[34567]86-*-solaris2*): Don't include i386/t-crtstuff here. Move extra_parts, i386/t-sol2 in tmake_file to libgcc/config.host. * config/i386/t-sol2: Move to libgcc/config/i386. libgcc: PR bootstrap/33100 * configure.ac (i?86-*-solaris2.1[0-9]*): Only include i386/t-crtstuff if linker supports ZERO terminator unwind entries. * configure: Regenerate. * config.host (i[34567]86-*-solaris2*): Move i386/t-sol2 in tmake_file here from gcc/config.gcc. Move extra_parts here from gcc/config.gcc. * config/i386/t-sol2: Move here from gcc/config/i386. Use gcc_srcdir instead of srcdir. From-SVN: r142050
2008-11-20trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Use gfc_index_one_node.Jakub Jelinek2-7/+10
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Use gfc_index_one_node. (gfc_conv_intrinsic_size): Use gfc_index_{zero,one}_node. From-SVN: r142046
2008-11-20Add PR tag forgotten in rev142043.Thomas Schwinge1-0/+1
From-SVN: r142044