1. 27 May, 2011 8 commits
    • re PR middle-end/49177 (FAIL: gcc.dg/vect/fast-math-ifcvt-1.c) · f8f972fc
      2011-05-27  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/49177
      	* fold-const.c (fold_unary_loc): Fold (T)(A CMP B) to
      	A CMP B ? (T) true : (T) false for non-integral types T again.
      
      From-SVN: r174326
      Richard Biener committed
    • lto-streamer-out.c (lto_string_index): break out from...; offset by 1 so 0 means NULL string. · 51a9ed47
      	* lto-streamer-out.c (lto_string_index): break out from...; offset by 1
      	so 0 means NULL string.
      	(lto_output_string_with_length): ... here.
      	(lto_output_string, output_string_cst, output_identifier): Update handling
      	of NULL strings.
      	(lto_output_location_bitpack): New function.
      	(lto_output_location): Use it.
      	(lto_output_tree_ref): Use output_record_start.
      	(pack_ts_type_common_value_fields): Pack aliagn & alias set in var len values.
      	* lto-streamer-in.c (string_for_index): Break out from ...; offset values by 1.
      	(input_string_internal): ... here; 
      	(input_string_cst, input_identifier, lto_input_string): Update handling of
      	NULL strings.
      	(lto_input_location_bitpack): New function
      	(lto_input_location): Use it.
      	(unpack_ts_type_common_value_fields): Pack align & alias in var len values.
      	* lto-streamer.h (bp_pack_val_len_unsigned, bp_pack_val_len_int,
      	bp_unpack_val_len_unsigned, bp_unpack_val_len_int): Declare.
      	(bp_pack_value): Sanity check the value range.
      	* lto-section-in.c (bp_unpack_val_len_unsigned, bp_unpack_val_len_int):
      	New functions.
      	* lto-section-out.h (bp_pack_val_len_unsigned, bp_pack_val_len_int):
      	New functions.
      
      From-SVN: r174325
      Jan Hubicka committed
    • picochip.c (reorder_var_tracking_notes): Drop call_arg_location instructions down the floor. · dc38fc2e
              * config/picochip/picochip.c (reorder_var_tracking_notes): Drop
              call_arg_location instructions down the floor.
      
      From-SVN: r174322
      Hariharan Sandanagobalane committed
    • re PR bootstrap/49173 (No rule to make target… · ad5f3d7b
      re PR bootstrap/49173 (No rule to make target `../../../../work/libgcc/../gcc/libgcc-std.ver', needed by `libgcc.map'.)
      
      	PR bootstrap/49173
      	* config/t-slibgcc-darwin (SHLIB_MAPFILES): Look for
      	libgcc-std.ver in the build directory.
      	* config/s390/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/sh/t-linux (SHLIB_MAPFILES): Likewise.
      
      From-SVN: r174321
      Bernd Schmidt committed
    • re PR c++/47721 ([C++0x] Updated friendship rules?) · 866e4146
      	PR c++/47721
      	* parser.c (cp_parser_member_declaration): Allow friend T.
      	* friend.c (make_friend_class): Ignore non-classes.
      	* pt.c (instantiate_class_template_1): Handle TEMPLATE_TYPE_PARM.
      
      From-SVN: r174319
      Jason Merrill committed
    • DR 1004 · 5ac537d7
      	DR 1004
      	* pt.c (convert_template_argument): Don't complain about using
      	injected-class-name as template template argument.
      
      From-SVN: r174318
      Jason Merrill committed
    • re PR c++/47956 ([C++0x] gcc accepts static data member declaration with… · 7c999b57
      re PR c++/47956 ([C++0x] gcc accepts static data member declaration with initializer for non-const literal type if type-specifier is auto)
      
      	PR c++/47956
      	* decl.c (check_static_variable_definition): Now static.
      	(cp_finish_decl): Call it here.
      	(grokdeclarator): Not here.
      	* pt.c (instantiate_class_template_1): Or here.
      	* cp-tree.h: Don't declare it.
      
      From-SVN: r174317
      Jason Merrill committed
    • Daily bump. · 8fd1dd14
      From-SVN: r174315
      GCC Administrator committed
  2. 26 May, 2011 32 commits
    • * gcc.dg/march.c: Ignore a note for some targets. · 206a00ec
      From-SVN: r174310
      Janis Johnson committed
    • re PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in… · 574e418a
      re PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in setup_pressure_classes, at ira.c:902)
      
      2011-05-26  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/49154
      	* ira.c (setup_pressure_classes): Process class without sublcasses
      	as a candidate for pressure classes.
      
      From-SVN: r174309
      Vladimir Makarov committed
    • detect C++ errors to fix 2288 and 18770 · 1eb2a14d
      detect C++ errors to fix 2288 and 18770
      gcc/cp/
      	PR c++/2288
      	PR c++/18770
      	* name-lookup.h (enum scope_kind): Add sk_cond.
      	* name-lookup.c (pushdecl_maybe_friend): Get scope of shadowed local.
      	Detect and report error for redeclaration from for-init or if
      	or switch condition.
      	(begin_scope): Handle sk_cond.
      	* semantics.c (begin_if_stmt): Use sk_cond.
      	(begin switch_stmt): Ditto.
      gcc/testsuite/
      	PR c++/2288
      	PR c++/18770
      	* g++.old-deja/g++.jason/cond.C: Remove xfails.
      	* g++.dg/parse/pr18770.C: New test.
      	* g++.dg/cpp0x/range-for5.C: Add dg-error marker.
      
      Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com>
      
      From-SVN: r174307
      Janis Johnson committed
    • re PR rtl-optimization/48575 (RTL vector patterns are limited to 26 elements) · 6a1a787e
      gcc/
      	PR rtl-optimization/48575
      	* genrecog.c (position_type): New enum.
      	(position): New structure.
      	(decision): Use position structure instead of a string.
      	(root_pos, peep2_insn_pos_list): New variables.
      	(next_position, compare_positions): New functions.
      	(new_decision): Use position structures instead of strings.
      	(maybe_both_true): Likewise.
      	(change_state): Likewise.
      	(write_tree): Likewise.
      	(make_insn_sequence): Likewise.
      
      From-SVN: r174305
      Richard Sandiford committed
    • re PR c++/48211 ([C++0x] Segment Fault When Compiling) · f256f612
      	PR c++/48211
      	* name-lookup.h (cp_class_binding): Make base a pointer.
      	* name-lookup.c (new_class_binding): Adjust.
      	(poplevel_class): Adjust.
      
      From-SVN: r174303
      Jason Merrill committed
    • [multiple changes] · aed5574e
      2011-05-26  Paul Thomas  <pault@gcc.gnu.org>
      	    Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/48955
      	* trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET
      	changed to GFC_ENABLE_REVERSE.
      	* trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed
      	to GFC_INHIBIT_REVERSE.
      	* gfortran.h : Enum gfc_reverse is now GFC_ENABLE_REVERSE,
      	GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.
      	* dependency.c (gfc_dep_resolver): Change names for elements of
      	gfc_reverse as necessary. Change the logic so that forward
      	dependences are remembered as well as backward ones. When both
      	have appeared, force a temporary.
      
      2011-05-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/48955
      	* gfortran.dg/dependency_40.f90 : New test.
      
      From-SVN: r174302
      Paul Thomas committed
    • re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays]) · b8ff4e88
      2011-05-26  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/18918
              * trans-array.c (gfc_conv_array_ref): Handle pointer coarrays.
              * trans-decl.c (has_coarray_vars, caf_init_block,
              gfor_fndecl_caf_register): New file-global variables.
              (gfc_finish_var_decl): Make sure that coarrays in main are static.
              (gfc_build_qualified_array): Generate coarray token variable.
              (gfc_get_symbol_decl): Don't use a static initializer for coarrays.
              (gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register.
              (gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for
              static coarrays.
              (generate_local_decl): Check for local coarrays.
              (create_main_function): SYNC ALL before calling MAIN.
              (generate_coarray_sym_init): Register static coarray.
              (generate_coarray_init): Generate CAF registering constructor
              function.
              (gfc_generate_function_code): Call it, if needed, do not create
              cgraph twice.
              (gfc_generate_module_vars, gfc_process_block_locals): Call
              generate_coarray_init.
              * trans-types.c (gfc_get_nodesc_array_type): Generate pointers
              * for
              -fcoarray=lib.
              * trans.h (gfor_fndecl_caf_register): New variable.
              (lang_type): New element caf_token.
              (GFC_TYPE_ARRAY_CAF_TOKEN): New macro.
      
      2011-05-26  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/18918
              * gfortran.dg/coarray/registering_1.f90: New.
      
      From-SVN: r174301
      Tobias Burnus committed
    • make TS_BLOCK a substructure of TS_BASE · 92e948a8
      make TS_BLOCK a substructure of TS_BASE
      gcc/
      	* tree.c (initialize_tree_contains_struct): Mark TS_BLOCK as
      	TS_BASE instead of TS_COMMON.
      	(find_decls_types_r): Check for TS_TYPED structure before looking at
      	TREE_TYPE.
      	* tree.h (struct tree_block): Inherit from tree_base, not tree_common.
      	Add chain field.
      	(BLOCK_CHAIN): Use new chain field.
      
      gcc/c-family/
      	* c-common.c (warning_candidate_p): Check for BLOCKs.
      
      gcc/java/
      	* decl.c (poplevel): Don't access TREE_TYPE of BLOCKs.
      	* expr.c (build_jni_stub): Likewise.
      
      From-SVN: r174300
      Nathan Froyd committed
    • lto.c (uniquify_nodes): Fix bug in one of the previous changes. · d74be317
      2011-05-26  Richard Guenther  <rguenther@suse.de>
      
      	lto/
      	* lto.c (uniquify_nodes): Fix bug in one of the previous changes.
      
      From-SVN: r174296
      Richard Guenther committed
    • list.cc: Use noexcept per the FDIS. · d3677132
      2011-05-26  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* src/list.cc: Use noexcept per the FDIS.
      	* src/compatibility-list-2.cc: Likewise.
      	* include/debug/set.h: Likewise.
      	* include/debug/unordered_map: Likewise.
      	* include/debug/multiset.h: Likewise.
      	* include/debug/forward_list: Likewise.
      	* include/debug/unordered_set: Likewise.
      	* include/debug/vector: Likewise.
      	* include/debug/map.h: Likewise.
      	* include/debug/deque: Likewise.
      	* include/debug/list: Likewise.
      	* include/debug/multimap.h: Likewise.
      	* include/profile/set.h: Likewise.
      	* include/profile/unordered_map: Likewise.
      	* include/profile/multiset.h: Likewise.
      	* include/profile/forward_list: Likewise.
      	* include/profile/vector: Likewise.
      	* include/profile/unordered_set: Likewise.
      	* include/profile/map.h: Likewise.
      	* include/profile/deque: Likewise.
      	* include/profile/list: Likewise.
      	* include/profile/multimap.h: Likewise.
      	* include/bits/hashtable.h: Likewise.
      	* include/bits/stl_list.h: Likewise.
      	* include/bits/stl_map.h: Likewise.
      	* include/bits/hashtable_policy.h: Likewise.
      	* include/bits/stl_set.h: Likewise.
      	* include/bits/forward_list.h: Likewise.
      	* include/bits/stl_multimap.h: Likewise.
      	* include/bits/stl_vector.h: Likewise.
      	* include/bits/stl_deque.h: Likewise.
      	* include/bits/stl_multiset.h: Likewise.
      	* include/bits/stl_bvector.h: Likewise.
      	* include/bits/stl_tree.h: Likewise.
      
      From-SVN: r174295
      Paolo Carlini committed
    • rs6000.c (rs6000_register_move_cost): Make LR/CTR moves expensive on Power7 also. · c61e40d3
              * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
              moves expensive on Power7 also.
      
      From-SVN: r174292
      Pat Haugen committed
    • fold-const.c (fold_unary_loc): Remove bogus code. · 1f498652
      2011-05-26  Richard Guenther  <rguenther@suse.de>
      
      	* fold-const.c (fold_unary_loc): Remove bogus code.
      
      From-SVN: r174290
      Richard Guenther committed
    • fix pr marker · 298942dc
      From-SVN: r174288
      Jason Merrill committed
    • make TS_IDENTIFIER be a substructure of TS_TYPED · a2fc3e63
      make TS_IDENTIFIER be a substructure of TS_TYPED
      gcc/
      	* tree.h (struct tree_identifier): Inherit from tree_typed, not
      	tree_common.
      	(HT_IDENT_TO_GCC_IDENT): Adjust for said change.
      	* tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
      	TS_BASE instead of TS_COMMON.
      	* varasm.c (assemble_name): Remove assert.
      
      gcc/c-family/
      	* c-common.h (struct c_common_identifier): Inherit from tree_typed,
      	not tree_common.
      
      From-SVN: r174286
      Nathan Froyd committed
    • re PR c++/48424 (C++0x parameter packs expansion problem) · b6139926
      	PR c++/48424
      	* decl.c (grokparms): Function parameter packs don't need to
      	go at the end.
      	* pt.c (type_unification_real): But they aren't deduced otherwise.
      
      From-SVN: r174285
      Jason Merrill committed
    • Makefile.in (srcdirify): Change order so that libgcc_objdir is substituted first. · d11bf18f
      	* Makefile.in (srcdirify): Change order so that libgcc_objdir is
      	substituted first.
      	* libgcc-std.ver: Delete file.
      
      From-SVN: r174284
      Bernd Schmidt committed
    • re PR tree-optimization/48702 (optimization regression with gcc-4.6 on x86_64-unknown-linux-gnu) · ac8e1875
      2011-05-26  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/48702
      	* tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
      	only when we know the base address is within bounds.
      	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
      	assume the base address of TARGET_MEM_REFs is in bounds.
      
      	* gcc.dg/torture/pr48702.c: New testcase.
      
      From-SVN: r174282
      Richard Guenther committed
    • re PR target/49099 (sparc.c:‘sparc_solaris_elf_asm_named_section’ declared… · 7e32e652
      re PR target/49099 (sparc.c:‘sparc_solaris_elf_asm_named_section’ declared ‘static’ but never defined)
      
      	PR target/49099
      	* config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Wrap
      	declaration in TARGET_SOLARIS.
      
      From-SVN: r174279
      Rainer Orth committed
    • picochip.md (cbranchhi4): No :CC for match_operator. · 43660e0b
              * config/picochip/picochip.md (cbranchhi4): No :CC for match_operator.
                The instruction is then expanded explicitly. 
              (supported_compare): Callable instruction.
              (compare): Likewise.
      
      From-SVN: r174277
      Hariharan Sandanagobalane committed
    • Fixed one of my last ChangeLog entries · 7f344fab
      From-SVN: r174276
      Nicola Pero committed
    • tree-prof.exp: Check for -fprofile-generate support. · 3f5cb251
       gcov-profile/48845
      	* g++.dg/tree-prof/tree-prof.exp: Check for -fprofile-generate
      	support.
      	* gcc.dg/matrix/matrix.exp: Likewise.
      	* gcc.dg/tree-prof/tree-prof.exp: Likewise.
      	* lib/target-supports-dg.exp (dg-require-profiling): Don't pass
      	line number to check_profiling_available.
      	* lib/target-supports.exp (check_profiling_available): Account for
      	this.
      	Require TLS runtime support with -fprofile-generate.
      	* lib/profopt.exp (profopt-execute): Add TLS options for
      	-fprofile-generate.
      	* gcc.dg/pr47793.c: Add dg-require-profiling "-fprofile-generate".
      
      From-SVN: r174275
      Rainer Orth committed
    • re PR c++/49165 (ICE on for-loop/throw combination) · 1537737f
      	PR c++/49165
      	* gimplify.c (shortcut_cond_r): Don't special case
      	COND_EXPRs if they have void type on one of their arms.
      
      	* g++.dg/eh/cond5.C: New test.
      
      From-SVN: r174273
      Jakub Jelinek committed
    • haifa-sched.c (schedule-block): Reorder the inner scheduling loop to reduce duplication... · 7b1ac803
      	* haifa-sched.c (schedule-block): Reorder the inner scheduling loop
      	to reduce duplication, and to achieve a slightly more logical order
      	of operations.
      
      From-SVN: r174271
      Bernd Schmidt committed
    • re PR tree-optimization/49161 (Fix VRP on switch stmts) · 1aa9438f
      	PR tree-optimization/49161
      	* tree-vrp.c (struct case_info): New type.
      	(compare_case_labels): Sort case_info structs instead of
      	trees, and not primarily by CASE_LABEL uids but by
      	label_for_block indexes.
      	(find_switch_asserts): Put case labels into struct case_info
      	array instead of TREE_VEC, adjust sorting, compare label_for_block
      	values instead of CASE_LABELs.
      
      	* gcc.c-torture/execute/pr49161.c: New test.
      
      From-SVN: r174270
      Jakub Jelinek committed
    • In libobjc/: 2011-05-26 Nicola Pero <nicola.pero@meta-innovation.com> · 0dd5327a
      In libobjc/:
      2011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>
      
      	* sendmsg.c: Reindented part of the file.  No non-trivial changes
      	in code.
      
      From-SVN: r174269
      Nicola Pero committed
    • In libobjc/: 2011-05-26 Nicola Pero <nicola.pero@meta-innovation.com> · 1e49849c
      In libobjc/:
      2011-05-26  Nicola Pero  <nicola.pero@meta-innovation.com>
      
      	* sendmsg.c (__objc_install_dtable_for_class): Use objc_getClass,
      	not objc_lookupClass.
      
      From-SVN: r174268
      Nicola Pero committed
    • Remove conflict marker · 1651e703
      From-SVN: r174267
      Eric Botcazou committed
    • Fix generation of vorn and vbic for Neon. · 50fed7bf
      From-SVN: r174266
      Ramana Radhakrishnan committed
    • re PR tree-optimization/49038 (-ftree-vectorise introduces reads past end of array) · 48df3fa6
      
              PR tree-optimization/49038
              * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
              Ensure at least one epilogue iteration if required by data
              accesses with gaps.
              * tree-vectorizer.h (struct _loop_vec_info): Add new field 
              to mark loops that require peeling for gaps.
              * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
              (vect_get_known_peeling_cost): Take peeling for gaps into 
              account.
              (vect_transform_loop): Generate epilogue if required by data
              access with gaps.
              * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
              loop as requiring an epilogue if there are gaps in the end of
              the strided group.
      
      From-SVN: r174265
      Ira Rosen committed
    • Adjust gcc/testsuite/ChangeLog · 688571c7
      From-SVN: r174264
      Fabien Chêne committed
    • pr25811-2.C: New. · c6bdd05e
      2011-05-26  Fabien Chene  <fabien@gcc.gnu.org>
      	* g++.dg/init/pr25811-2.C: New.
      	* g++.dg/init/pr25811-3.C: New.
      	* g++.dg/init/pr25811-4.C: New.
      
      From-SVN: r174263
      Fabien Chêne committed
    • godump.c (go_format_type): Output the first field with a usable Go type, if any. · 53febcba
      	* godump.c (go_format_type): Output the first field with a usable
      	Go type, if any.
      
      From-SVN: r174262
      Ian Lance Taylor committed