re PR tree-optimization/43614 (ice in gimple_rhs_has_side_effects, at gimple.c:2248)
2010-04-01 Richard Guenther <rguenther@suse.de>
PR middle-end/43614
* tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
and TREE_THIS_VOLATILE.
(copy_ref_info): Likewise.
* tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
* tree.c (build6_stat): Ignore side-effects of all but arg5
for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
TARGET_MEM_REF.
install.texi (Prerequisites): Document libelf usability on IRIX 5/6 and Solaris 2.
* doc/install.texi (Prerequisites): Document libelf usability on
IRIX 5/6 and Solaris 2.
(Specific, i?86-*-solaris2.10): No 64-bit default configuration.
Update GNU as, GNU ld requirements.
(Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
Document Sun Studio compiler download.
Update and simplify as, ld recommendations.
(Specific, *-*-solaris2.7): Note obsoletion, removal.
Sebastian Pop [Wed, 31 Mar 2010 18:37:28 +0000 (18:37 +0000)]
Print SCoPs under CLooG format.
2010-03-23 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (print_scattering_function_1): New.
(print_scattering_function): Call it.
(print_scop_params): Remove spaces at the end of lines.
(print_cloog): New.
(debug_cloog): New.
* graphite-poly.h (print_cloog): Declared.
(debug_cloog): Declared.
Sebastian Pop [Wed, 31 Mar 2010 18:37:13 +0000 (18:37 +0000)]
canonicalize_loop_ivs should add the IV bump in loop->header.
2010-03-16 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
in loop->header.
* tree-flow.h (canonicalize_loop_ivs): Updated declaration.
* tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
to switch between adding the IV bump in loop->latch or in loop->header.
PR objc++/23613
* gcc/testsuite/objc-obj-c++-shared/next-mapping.h (CLASSPTRFIELD):
New macro.
* gcc/testsuite/obj-c++.dg/isa-field-1.mm: Use new CLASSPTRFIELD macro.
Remove dg-xfail-if.
Jakub Jelinek [Wed, 31 Mar 2010 15:37:03 +0000 (17:37 +0200)]
dwarf2out.c (size_of_die): For -gdwarf-4 use uleb128 size instead of fixed 1 or 2 for dw_val_class_loc and...
* dwarf2out.c (size_of_die): For -gdwarf-4 use
uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
and 0 instead of 1 for dw_val_class_flag.
(value_format): For -gdwarf-4 use DW_FORM_sec_offset for
dw_val_class_range_list, dw_val_class_loc_list,
dw_val_class_lineptr and dw_val_class_macptr, use
DW_FORM_flag_present for dw_val_class_flag and
DW_FORM_exprloc for dw_val_class_loc.
(output_die): For -gdwarf-4 print dw_val_class_loc
size as uleb128 instead of 1 or 2 bytes and don't print
anything for dw_val_class_flag.
Dodji Seketeli [Wed, 31 Mar 2010 09:21:02 +0000 (09:21 +0000)]
re PR c++/43558 (Rejects specialization)
Fix PR c++/43558
gcc/cp/ChangeLog:
PR c++/43558
* cp-tree.h (TEMPLATE_TYPE_PARM_SIBLING_PARMS): New accessor macro.
* pt.c (end_template_parm_list): Store sibling template parms of
each TEMPLATE_TYPE_PARMs into its TEMPLATE_TYPE_PARM_SIBLING_PARMS.
(push_template_decl_real): Don't store the containing template decl
into the DECL_CONTEXT of TEMPLATE_TYPE_PARMs anymore.
* typeck.c (get_template_parms_of_dependent_type): Get sibling parms
of a TEMPLATE_TYPE_PARM from TEMPLATE_TYPE_PARM_SIBLING_PARMS.
Simplify the logic.
gcc/testsuite/ChangeLog:
PR c++/43558
* g++.dg/template/typedef31.C: New test.
gcc/testsuite:
* g++.dg/ext/visibility/pragma-override1.C: Allow for .hidden in
assembler output on *-*-solaris2*.
* g++.dg/ext/visibility/pragma-override2.C: Likewise.
Rainer Orth [Wed, 31 Mar 2010 09:03:29 +0000 (09:03 +0000)]
re PR target/39048 (gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc)
gcc:
PR target/39048
* config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
and soft-fp/t-softfp to tmake_file.
* config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
(LIBGCC2_TF_CEXT): Define.
(TF_SIZE): Define.
libgcc:
PR target/39048
* config.host (i[34567]86-*-solaris2): Handle 32-bit Solaris 2/x86
like other remaining 32-bit x86 OSes.
* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
assembler syntax.
* config/i386/libgcc-sol2.ver: New file.
* config/i386/t-sol2 (SHLIB_MAPFILES): Add it.
Ralf Wildenhues [Wed, 31 Mar 2010 05:44:30 +0000 (05:44 +0000)]
Fix toplevel configure --enable-multilib handling.
/:
PR bootstrap/43328
* configure.ac: Do not pass --enable-multilib nor
--disable-multilib in baseargs. Accept explicitly passed
--enable_multilib.
* configure: Regenerate.
Jakub Jelinek [Tue, 30 Mar 2010 20:17:39 +0000 (22:17 +0200)]
var-tracking.c (use_narrower_mode_test, [...]): New functions.
* var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
functions.
(adjust_mems): Replace narrowing SUBREG of expression containing
just PLUS, MINUS, MULT and ASHIFT of registers and constants
with operations in the narrower mode.
Johannes Singler [Tue, 30 Mar 2010 14:50:56 +0000 (14:50 +0000)]
random_shuffle.h (__parallel_random_shuffle_drs): Take as many threads as possible, i.
2010-03-30 Johannes Singler <singler@kit.edu>
* include/parallel/random_shuffle.h
(__parallel_random_shuffle_drs) : Take as many threads as
possible, i. e. favor parallelism over cache efficiency.
Use own PRNG also for the 1 thread case.
Jack Howarth [Tue, 30 Mar 2010 13:08:52 +0000 (13:08 +0000)]
re PR c/43553 (libgcc built with -DHAVE_CC_TLS against xgcc when emutls in use)
2010-03-30 Jack Howarth <howarth@bromo.med.uc.edu>
PR c/43553
* Makefile.in (INTERNAL_CFLAGS): Add @set_use_emutls@.
* configure.ac: Use GCC_CHECK_EMUTLS to see if emulated TLS
is used and substitute set_use_emutls.
* configure: Regenerated.
Joseph Myers [Tue, 30 Mar 2010 12:35:08 +0000 (13:35 +0100)]
re PR other/25232 (libgcc-std.ver should include __unordxf2 and __unordtf2)
PR other/25232
* libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
and __unordtf2.
* config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
Include ___unordxf2 and ___unordtf2.
* config/i386/libgcc-glibc.ver: Do not define inheritance from
GCC_4.4.0 here.
Jason Merrill [Mon, 29 Mar 2010 20:07:29 +0000 (16:07 -0400)]
More N3077 raw string changes
More N3077 raw string changes
* charset.c (cpp_interpret_string): Don't transform UCNs in raw
strings.
* lex.c (bufring_append): Split out from...
(lex_raw_string): ...here. Undo trigraph and line splicing
transformations. Do process line notes in multi-line literals.
(_cpp_process_line_notes): Ignore notes that were already handled.
Jason Merrill [Mon, 29 Mar 2010 19:40:36 +0000 (15:40 -0400)]
raw-string-1.c: Combine C and C++ raw string tests.
* c-c++-common/raw-string-1.c: Combine C and C++ raw string tests.
* c-c++-common/raw-string-2.c: Combine C and C++ raw string tests.
* c-c++-common/raw-string-3.c: Combine C and C++ raw string tests.
* c-c++-common/raw-string-4.c: Combine C and C++ raw string tests.
* c-c++-common/raw-string-5.c: Combine C and C++ raw string tests.
* c-c++-common/raw-string-6.c: Combine C and C++ raw string tests.
* c-c++-common/raw-string-7.c: Combine C and C++ raw string tests.
Sebastian Pop [Mon, 29 Mar 2010 16:38:34 +0000 (16:38 +0000)]
Improve vectorization diagnostic: loop contains function calls.
2010-03-29 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/43436
* tree-vect-data-refs.c (vect_analyze_data_refs): When
compute_data_dependences_for_loop returns false, early exit
and output an extra diagnostic for the failed data reference
analysis.
Jason Merrill [Mon, 29 Mar 2010 15:00:43 +0000 (11:00 -0400)]
Some raw string changes from N3077
Some raw string changes from N3077
* charset.c (cpp_interpret_string): Change inner delimiters to ().
* lex.c (lex_raw_string): Likewise. Also disallow '\' in delimiter.
Jie Zhang [Mon, 29 Mar 2010 13:06:50 +0000 (13:06 +0000)]
re PR other/43564 (ICE on code with optimize attribute and inlining)
PR 43564
* toplev.c (process_options): Set optimization_default_node
and optimization_current_node.
* opts.c (decode_options): Don't set optimization_default_node
and optimization_current_node.
Jan Hubicka [Sun, 28 Mar 2010 21:46:50 +0000 (23:46 +0200)]
re PR tree-optimization/43505 (type mismatch between an SSA_NAME and its symbol with -O3)
PR tree-optimization/43505
* cgraph.c (cgraph_clone_node): When clonning a clone, replacement
map should not be copied.
* gfortran.dg/pr43505.f90: New testcase.
re PR middle-end/41674 (/usr/ccs/bin/ld: Unsatisfied symbols: _GLOBAL__I_65535_0_main)
PR middle-end/41674
* cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
cdtors, set DECL_PRESERVE_P.
* ipa.c (cgraph_externally_visible_p): Return true if declaration
should be preseved.
Joseph Myers [Fri, 26 Mar 2010 23:52:09 +0000 (23:52 +0000)]
re PR c/43381 (infinite loop in gcc.dg/parm-impl-decl-1.c with -g)
PR c/43381
* c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
nested binding iff it is a FUNCTION_DECL.
(store_parm_decls_newstyle): Pass nested=true to bind for
FUNCTION_DECLs amongst parameters.
Jakub Jelinek [Fri, 26 Mar 2010 20:54:43 +0000 (21:54 +0100)]
var-tracking.c (emit_note_insn_var_location): For one part notes with offset 0, don't add EXPR_LIST around the location.
* var-tracking.c (emit_note_insn_var_location): For one part
notes with offset 0, don't add EXPR_LIST around the location.
* dwarf2out.c (loc_descriptor, dw_loc_list_1,
add_location_or_const_value_attribute): Adjust for that change.
Jakub Jelinek [Fri, 26 Mar 2010 20:53:58 +0000 (21:53 +0100)]
re PR debug/43540 (ICE: vector VEC(dw_cfi_ref,heap) grow domain error, in output_cfis at dwarf2out.c:3346 or OOM-killed)
PR debug/43540
* dwarf2out.c (reg_save): For DW_CFA_expression put regnum
into first operand and location into second.
(dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
dw_cfi_oprnd_loc for DW_CFA_expression.
(dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
(output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
assume first argument is regnum and second argument is location.
Uros Bizjak [Fri, 26 Mar 2010 18:45:56 +0000 (19:45 +0100)]
re PR target/42113 (Internal Compiler error with -O3, breaking commit known)
PR target/42113
* config/alpha/alpha.md (*cmp_sadd_si): Change mode
of scratch register to DImode. Split to DImode comparison operator.
Use SImode subreg of scratch register in the multiplication.
(*cmp_sadd_sidi): Ditto.
(*cmp_ssub_si): Ditto.
(*cmp_ssub_sidi): Ditto.
Jakub Jelinek [Fri, 26 Mar 2010 16:18:51 +0000 (17:18 +0100)]
re PR debug/43516 ("-fcompare-debug failure" at -O2)
PR debug/43516
* flags.h (final_insns_dump_p): New extern.
* final.c (final_insns_dump_p): New variable.
(rest_of_clean_state): Set it before -fdump-final-insns=
dumping, clear afterwards.
* print-rtl.c (print_rtx): If final_insns_dump_p don't dump
MEM_ALIAS_SET on MEMs.