Commit Graph

86991 Commits

Author SHA1 Message Date
Jakub Jelinek
5dc1195440 re PR c++/35758 (vector_size attribute lost in function arguments for templates)
PR c++/35758
	* c-common.c (handle_vector_size_attribute): Call
	lang_hooks.types.reconstruct_complex_type instead of
	reconstruct_complex_type.
	* config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Likewise.
	* config/spu/spu.c (spu_handle_vector_attribute): Likewise.
	* langhooks.h (struct lang_hooks_for_types): Add
	reconstruct_complex_type hook.
	* langhooks-def.h (LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE): Define.
	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.

	* cp-tree.h (cp_reconstruct_complex_type): New prototype.
	* cp-objcp-common.h (LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE): Define.
	* decl2.c (is_late_template_attribute): Only make vector_size
	late tmpl attribute if argument is type or value dependent.
	(cp_reconstruct_complex_type): New function.

	* g++.dg/ext/vector14.C: New test.

From-SVN: r134639
2008-04-24 18:29:40 +02:00
Jakub Jelinek
6f88c6630d * gcc.dg/pr36017.c: Run on all targets, remove -lm from dg-options.
From-SVN: r134637
2008-04-24 18:23:05 +02:00
Richard Guenther
833229510c c-common.h (check_builtin_function_arguments): Declare.
2008-04-24  Richard Guenther  <rguenther@suse.de>

	* c-common.h (check_builtin_function_arguments): Declare.
	* c-common.c (validate_nargs): New function.
	(check_builtin_function_arguments): Likewise.
	* c-typeck.c (build_function_call): Call
	check_builtin_function_arguments.
	* builtins.c (fold_builtin_classify): Remove error reporting code.
	(fold_builtin_unordered_cmp): Likewise.
	(fold_builtin_1): Likewise.
	(fold_builtin_n): Likewise.

	cp/
	* typeck.c (cp_build_function_call): Call
	check_builtin_function_arguments.

	* gcc.dg/builtin-constant_p-1.c: New testcase.
	* gcc.dg/builtin-errors.c: Adjust expected error.

From-SVN: r134635
2008-04-24 16:18:46 +00:00
Jakub Jelinek
194ac52ab4 re PR tree-optimization/36008 (Function produces wrong results when inlined.)
PR tree-optimization/36008
	* fold-const.c (try_move_mult_to_index): If s == NULL, divide
	the original op1, rather than delta by step.

	* gcc.c-torture/execute/20080424-1.c: New test.

From-SVN: r134634
2008-04-24 18:08:11 +02:00
Antoniu Pop
9f9f72aa49 tree-parloops.c (take_address_of, [...]): Make them work on a region of code delimited by two edges in the CFG.
2008-04-22  Antoniu Pop  <antoniu.pop@gmail.com>
            Sebastian Pop  <sebastian.pop@amd.com>

	* tree-parloops.c (take_address_of, eliminate_local_variables_1,
	eliminate_local_variables_stmt, eliminate_local_variables,
	separate_decls_in_loop_name, separate_decls_in_loop_stmt,
	separate_decls_in_loop, gen_parallel_loop): Make them work on a region
	of code delimited by two edges in the CFG.
	(separate_decls_in_loop_name): Renamed separate_decls_in_region_name.
	(separate_decls_in_loop_stmt): Renamed separate_decls_in_region_stmt.
	(separate_decls_in_loop): Renamed separate_decls_in_region.  Isolate 
	the case of parallelisation of reductions.
	(expr_invariant_in_region_p): New.

	* tree-flow.h (gather_blocks_in_sese_region): Declared.
	* tree-cfg.c (gather_blocks_in_sese_region): Extern.


Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>

From-SVN: r134632
2008-04-24 16:23:51 +01:00
Francois-Xavier Coudert
601e33320a * intrinsics/time_1.h (__time_1): Remove unused variable.
From-SVN: r134630
2008-04-24 14:54:32 +00:00
Benjamin Kosnik
35648b4572 acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for set of all used __sync builtins, in two sizes.
2008-04-24  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for set of
	all used __sync builtins, in two sizes.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* src/atomic.cc: Use  _GLIBCXX_ATOMIC_BUILTINS_1.
	* include/ext/atomicity.h: Use  _GLIBCXX_ATOMIC_BUILTINS_4.
	* libsupc++/guard.cc: Use  _GLIBCXX_ATOMIC_BUILTINS_4.
	* doc/xml/manual/concurrency.xm: Update docs.

From-SVN: r134629
2008-04-24 14:40:29 +00:00
Ira Rosen
2aa43509ae re PR tree-optimization/36034 (wrong code vectorizing unrolled inner loop (SLP))
2008-04-24  Ira Rosen  <irar@il.ibm.com>
	Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36034
	* tree-vect-analyze.c (vect_analyze_group_access): SLP is
	incapable of dealing with loads with gaps.

	* gcc.c-torture/execute/pr36034-1.c: New testcase.
	* gcc.c-torture/execute/pr36034-2.c: Likewise.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r134628
2008-04-24 14:21:45 +00:00
Olivier Hainque
22a812674c trans.c (Attribute_to_gnu): Length
2008-04-24  Olivier Hainque  <hainque@adacore.com>

        ada/
        * trans.c (Attribute_to_gnu) <case Attr_Length>: Length
        * computation
        doesn't require signed arithmetic anymore.

        testsuite/
        * gnat.dg/concat_length.adb: New test.

From-SVN: r134627
2008-04-24 13:24:11 +00:00
Rafael Avila de Espindola
e80d7580e7 tree-flow.h (vrp_evaluate_conditional): Change signature.
2008-04-24  Rafael Espindola  <espindola@google.com>

	* tree-flow.h (vrp_evaluate_conditional): Change signature.
	* tree-ssa-propagate.c (fold_predicate_in): Update call to
	vrp_evaluate_conditional.
	* tree-vrp.c (vrp_evaluate_conditional_warnv): Remove.
        (vrp_evaluate_conditional): Split the cond argument.
        (vrp_visit_cond_stmt): Use vrp_evaluate_conditional_warnv_with_ops.
        (simplify_stmt_for_jump_threading): Update call to
	vrp_evaluate_conditional.

From-SVN: r134625
2008-04-24 09:48:41 +00:00
Ira Rosen
0e37a1c243 re PR target/35982 (ICE while building mplayer on ppc with -O3 -ffast-math -mcpu=970)
PR tree-optimization/35982
	* tree-vect-analyze.c (vect_check_interleaving): Check that the
	interleaved data-refs are of the same type.

From-SVN: r134624
2008-04-24 09:21:55 +00:00
Danny Smith
f9f9640f84 c-format.c (check_format_info_main): Use strncmp rather than a magic prefix to handle multichar length specs.
gcc
	* c-format.c (check_format_info_main): Use strncmp rather than a magic prefix
	to handle multichar length specs.
	* config/i386/msformat-c.c (format_length_info ms_printf_length_specs):
	Don't prefix "I64" and "I32" with '\0'.


testsuite
	* gcc.dg/format/ms-warnI64-1.c: New file.

From-SVN: r134623
2008-04-24 07:42:07 +00:00
Jakub Jelinek
64ceac43df re PR target/36015 (-mregparm and fn decls without arguments)
PR target/36015
	* config/i386/i386.c (init_cumulative_args): Don't pass anything
	in registers for -m32 only if stdarg_p (fntype).

	* gcc.dg/pr36015.c: New test.

From-SVN: r134621
2008-04-24 08:59:55 +02:00
Uros Bizjak
4679504c63 re PR rtl-optimization/36006 (invalid rtl sharing with -O2)
PR rtl-optimization/36006
        * expmed.c (store_fixed_bit_field): Copy op0 rtx before moving
        temp to op0 in order to avoid invalid rtx sharing.

testsuite/ChangeLog:

        PR rtl-optimization/36006
        * gfortran.dg/pr36006-1.f90: New test.
        * gfortran.dg/pr36006-2.f90: Ditto.

From-SVN: r134618
2008-04-24 06:53:47 +02:00
Jerry DeLisle
6412ecdc93 re PR fortran/35994 (MAXLOC and MINLOC off by one with mask)
2008-04-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/35994
	* gfortran.dg/minmaxloc_5.f90: New test.
	* gfortran.dg/minmaxloc_6.f90: New test.

From-SVN: r134616
2008-04-24 03:55:05 +00:00
Jerry DeLisle
4e77ad242f re PR fortran/35994 (MAXLOC and MINLOC off by one with mask)
2008-04-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/35994
	* trans-instrinsic.c (gfc_conv_intrinsic_minmaxloc): Correctly adjust
	loop counter offset.

Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>

From-SVN: r134615
2008-04-24 03:48:00 +00:00
GCC Administrator
e50b376d61 Daily bump.
From-SVN: r134611
2008-04-24 00:17:46 +00:00
Benjamin Kosnik
cb45715664 os_defines.h: Use _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_BEGIN_EXTERN_C, etc.
2008-04-23  Benjamin Kosnik  <bkoz@redhat.com>

	* config/os/hpux/os_defines.h: Use _GLIBCXX_BEGIN_NAMESPACE,
	_GLIBCXX_BEGIN_EXTERN_C, etc.

From-SVN: r134607
2008-04-23 23:28:45 +00:00
Steve Ellcey
10a9ad3b82 * gcc.dg/array-init-1.c: Add big-endian number to check.
From-SVN: r134601
2008-04-23 20:16:26 +00:00
Sebastian Pop
24170ff901 patch_tester.sh (report): Do not print the time.
* patch_tester.sh (report): Do not print the time.

From-SVN: r134600
2008-04-23 19:00:08 +00:00
Paolo Bonzini
51eed2800d tree-cfg.c (verify_expr): Check with is_gimple_address.
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

	* tree-cfg.c (verify_expr): Check with is_gimple_address.  Don't
	check TREE_INVARIANT.
	* tree-gimple.c (is_gimple_address): New.
	(is_gimple_invariant_address): Simplify using decl_address_invariant_p.
	* tree-gimple.h (is_gimple_address): New.
	* tree.h (decl_address_invariant_p): New.
	* tree.c (make_node_stat): Don't set TREE_INVARIANT.
	(build_string): Likewise.
	(decl_address_invariant_p): New, from is_gimple_invariant_address.
	(tree_invariant_p_1): Likewise.
	(save_expr): Use it.
	(tree_invariant_p): New.
	(skip_simple_arithmetic): Use it.
	(stabilize_reference_1): Use it.
	(recompute_tree_invariant_for_addr_expr): Don't update TREE_INVARIANT,
	simplify.
	(build1_stat): Drop code to compute TREE_INVARIANT.
	(build2_stat): Drop code to compute TREE_INVARIANT.
	(build3_stat): Drop code to compute TREE_INVARIANT.
	(build4_stat): Drop code to compute TREE_INVARIANT.
	(build5_stat): Drop code to compute TREE_INVARIANT.
	(build7_stat): Drop code to compute TREE_INVARIANT.
	(merge_dllimport_decl_attributes): Don't mention TREE_INVARIANT.
	* tree.h (struct tree_base): Remove invariant_flag.
	(TREE_INVARIANT): Remove.
	* builtins.c (build_string_literal): Don't set TREE_INVARIANT.
	(fold_builtin_expect): Check TREE_CONSTANT.
	* tree-ssa-ccp.c (fold_stmt_r): Adjust comment.
	* c-tree.h (c_expr_to_decl): Drop third parameter.
	* c-typeck.c (build_external_ref): Don't set TREE_INVARIANT.
	(build_c_cast): Don't set TREE_INVARIANT.
	(pop_init_level): Don't set TREE_INVARIANT.
	(c_objc_common_truthvalue_conversion): Don't set TREE_INVARIANT.
	* gimplify.c (gimplify_init_ctor_preeval): Add assertion, test
	TREE_CONSTANT.
	(gimplify_init_constructor): Don't set TREE_INVARIANT.
	(gimplify_addr_expr): Adjust comment.
	* tree-mudflap.c (mf_build_string):
	* print-tree.c (print_node): Don't print TREE_INVARIANT.
	* tree-nested.c (convert_nonlocal_reference): Adjust comment.
	* c-common.c (fix_string_type): Don't set TREE_INVARIANT.
	* langhooks-def.h (lhd_expr_to_decl): Drop third parameter.
	* langhooks.c (lhd_expr_to_decl): Drop third parameter.
	* langhooks.h (struct lang_hooks): Drop third parameter from
	expr_to_decl.

java:
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

	* class.c (build_utf8_ref): Don't set TREE_INVARIANT.
	(build_classdollar_field): Don't set TREE_INVARIANT.
	(get_dispatch_table): Don't set TREE_INVARIANT.
	(make_class_data): Don't set TREE_INVARIANT.
	(build_symbol_entry): Don't set TREE_INVARIANT.
	(emit_symbol_table): Don't set TREE_INVARIANT.
	* constants.c (build_constant_data_ref): Don't set TREE_INVARIANT.
	(build_ref_from_constant_pool): Don't set TREE_INVARIANT.
	* resource.c (compile_resource_data): Don't set TREE_INVARIANT.
	* expr.c (cache_cpool_data_ref): Don't set TREE_INVARIANT.

objc:
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

	* objc-act.c (objc_build_string_object): Don't set TREE_INVARIANT.

cp:
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

	* typeck.c (get_member_function_from_ptrfunc): Don't set TREE_INVARIANT.
	(build_ptrmemfunc1): Don't set TREE_INVARIANT.
	* init.c (build_zero_init): Don't set TREE_INVARIANT.
	* class.c (build_base_path): Don't set TREE_INVARIANT.
	(build_vtbl_ref_1): Don't set TREE_INVARIANT.
	(build_vtbl_initializer): Don't set TREE_INVARIANT.
	* decl.c (build_enumerator): Don't set TREE_INVARIANT.
	* rtti.c (tinfo_base_init): Don't set TREE_INVARIANT.
	(generic_initializer): Don't set TREE_INVARIANT.
	(ptr_initializer): Don't set TREE_INVARIANT.
	(ptm_initializer): Don't set TREE_INVARIANT.
	(class_initializer): Don't set TREE_INVARIANT.
	* typeck2.c (process_init_constructor): Don't set TREE_INVARIANT.
	* pt.c (push_inline_template_parms_recursive): Don't set TREE_INVARIANT.
	(build_template_parm_index): Don't set TREE_INVARIANT.
	(reduce_template_parm_level): Don't set TREE_INVARIANT.
	(process_template_parm): Don't set TREE_INVARIANT.

ada:
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

	* trans.c (Attribute_to_gnu): Don't set TREE_INVARIANT.
	(call_to_gnu): Don't set TREE_INVARIANT.
	* utils2.c (gnat_build_constructor): Don't set TREE_INVARIANT.

fortran:
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

	* trans-expr.c (gfc_conv_structure): Don't set TREE_INVARIANT.
	* trans-array.c (gfc_build_null_descriptor): Don't set TREE_INVARIANT.
	(gfc_trans_array_constructor_value): Don't set TREE_INVARIANT.
	(gfc_build_constant_array_constructor): Don't set TREE_INVARIANT.
	(gfc_conv_array_initializer): Don't set TREE_INVARIANT.
	* trans-common.c (get_init_field): Don't set TREE_INVARIANT.
	(create_common): Don't set TREE_INVARIANT.
	* trans-stmt.c (gfc_trans_character_select): Don't set TREE_INVARIANT.
	* trans-decl.c (gfc_generate_function_code): Don't set TREE_INVARIANT.

From-SVN: r134599
2008-04-23 15:00:52 +00:00
Richard Guenther
17d2c090a1 re PR tree-optimization/27799 (adding unused char field inhibits optimization)
2008-04-23  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/27799
	PR tree-optimization/32921
	PR tree-optimization/32624
	* tree-ssa-structalias.c (merge_smts_into): Only merge the
	SMTs aliases and the tag itself into the solution.
	* tree-ssa-alias.c (compute_flow_sensitive_aliasing): Do not
	merge the points-to solution back into the SMT aliases.
	(may_alias_p): Use alias_set_subset_of instead of
	aliases_conflict_p.  A pointer which points to
	memory with alias set zero may access any variable.

	* gcc.dg/tree-ssa/pr27799.c: New testcase.
	* gcc.dg/tree-ssa/20030807-7.c: Remove xfail, scan vrp dump.

From-SVN: r134598
2008-04-23 14:08:25 +00:00
Richard Guenther
a7a512beff alias.c (alias_set_subset_of): Correctly handle asking if zero is a subset of an alias set with zero child.
2008-04-23  Richard Guenther  <rguenther@suse.de>

	* alias.c (alias_set_subset_of): Correctly handle asking
	if zero is a subset of an alias set with zero child.
	* tree-ssa-alias.c (have_common_aliases_p): Simplify logic.
	(compute_flow_insensitive_aliasing): Correctly walk all
	pointers.  Do not unnecessarily union sets.

From-SVN: r134597
2008-04-23 14:06:02 +00:00
Richard Guenther
f3f75f693d re PR c/36021 (__attribute__((alloc_size(n))) with function of no arguments causes gcc to segfault)
2008-04-23  Richard Guenther  <rguenther@suse.de>

	PR middle-end/36021
	* c-common.c (handle_alloc_size_attribute): Use type_num_arguments.

	* gcc.dg/attr-alloc_size-2.c: New testcase.

From-SVN: r134595
2008-04-23 13:47:38 +00:00
Tomas Bily
09725d5e8d ChangeLog: right place to changes
* gcc/ChangeLog: right place to changes
 
        * ChangeLog: removed changes im bad place

From-SVN: r134594
2008-04-23 15:19:29 +02:00
Tomas Bily
f904bc288a ChangeLog: changelog to last commit
* ChangeLog: changelog to last commit

From-SVN: r134592
2008-04-23 14:53:12 +02:00
Tomas Bily
a134e5f370 tree-cfg.c (verify_expr): Check for NON_LVALUE_EXPR as unreachable case.
* tree-cfg.c (verify_expr): Check for NON_LVALUE_EXPR as
        unreachable case.

        * tree-vrp.c (extract_range_from_unary_expr): Removed unused
        NON_LVALUE_EXPR.

        * tree-ssa-threadedge.c (simplify_control_stmt_condition):
        Likewise.
        
        * tree-ssa-structalias.c (get_constraint_for): Likewise.

        * tree-inline.c (estimate_num_insns_1): Likewise.

        * varasm.c (const_hash_1, compare_constant, copy_constant)
        (compute_reloc_for_constant, output_addressed_constants):
        Likewise.

        * emit-rtl.c (component_ref_for_mem_expr)
        (set_mem_attributes_minus_bitpos): Likewise.

        * expr.c (highest_pow2_factor, expand_expr_real_1, )
        (is_aligning_offset): Likewise.

        * dwarf2out.c (loc_descriptor_from_tree_1, add_bound_info):
        Likewise.

        * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Likewise.

        * dojump.c (do_jump): Likewise.

        * builtins.c (get_pointer_alignment, get_memory_rtx)
        (integer_valued_real_p, fold_builtin_next_arg): Likewise.

        * tree-scalar-evolution.c (instantiate_parameters_1): Likewise.

From-SVN: r134591
2008-04-23 14:50:17 +02:00
Paolo Bonzini
e24703834e override.m4: Apply _AC_ARG_VALIDATE fix to all versions but 2.62.
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

	* override.m4: Apply _AC_ARG_VALIDATE fix to all versions
	but 2.62.

From-SVN: r134590
2008-04-23 10:22:37 +00:00
Kai Tietz
4991bfc813 20020919-1.c (loc_size_t): New type.
2008-04-23  Kai Tietz  <kai.tietz@onevision.com>

	* gcc.dg/20020919-1.c (loc_size_t): New type.
	(_dl_stat): Use loc_size_t to cast pointers.
	* gcc.c-torture/compile/20010327-1.c: Skip for x86_64-*-mingw*.

From-SVN: r134583
2008-04-23 09:53:55 +02:00
Johannes Singler
d7066497b0 quicksort.h: Reformat,
2008-04-23  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/quicksort.h: Reformat,
        (parallel_sort_qs): Do not pass number of elements.
        * include/parallel/balanced_quicksort.h: Reformat,
        (parallel_sort_qsb): Do not pass number of elements.
        * include/parallel/tags.h:
        Introduce new tags for compile-time choice.
        * include/parallel/merge.h:
        (parallel_merge_advance):Beautified.
        * include/parallel/algo.h: Reformatting (spaces for tabs)
        New sort and stable_sort variants, corresponding to the tags.
        * include/parallel/sort.h:
        New sort and stable_sort variants, corresponding to the tags.
        Changed determining the desired number of threads.

From-SVN: r134582
2008-04-23 07:26:53 +00:00
Johannes Singler
214ece2920 2008-04-23 Johannes Singler <singler@ira.uka.de>
* include/parallel/multiway_merge.h
        (multiway_merge_loser_tree):
        Leave checks to callers, add precondition instead.
        (multiway_merge_loser_tree_unguarded): Likewise.
        (multiway_merge_loser_tree_sentinel): Likewise.
        (sequential_multiway_merge): Added checks for total length 0.
        (parallel_multiway_merge): Skip empty sequences.
        (multiway_merge, all variants):
        Remove temporary variable, return directly.
        (stable_multiway_merge, all variants): Likewise.
        (multiway_merge_sentinels, all variants):  Likewise.
        (stable_multiway_merge_sentinels, all variants): Likewise.
        * include/parallel/multiseq_selection.h
        (multiseq_partition): More detailed assertions.

From-SVN: r134580
2008-04-23 07:20:58 +00:00
Thomas Koenig
7edc89d4c1 re PR fortran/35988 (run-time abort for MATMUL of run-time zero sized array)
2008-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/35988
	* m4/matmul.m4:  Only issue a runtime error if extents are
	non-zero.
	* generated/matmul_i1.c:  Regenerated.
	* generated/matmul_i2.c:  Regenerated.
	* generated/matmul_i4.c:  Regenerated.
	* generated/matmul_i8.c:  Regenerated.
	* generated/matmul_i16.c:  Regenerated.
	* generated/matmul_r4.c:  Regenerated.
	* generated/matmul_r8.c:  Regenerated.
	* generated/matmul_r10.c:  Regenerated.
	* generated/matmul_r16.c:  Regenerated.
	* generated/matmul_c4.c:  Regenerated.
	* generated/matmul_c8.c:  Regenerated.
	* generated/matmul_c10.c:  Regenerated.
	* generated/matmul_c16.c:  Regenerated.

2008-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/35988
	* gfortran.dg/matmul_7.f90:  New test.

From-SVN: r134579
2008-04-23 05:50:54 +00:00
GCC Administrator
d5555b955d Daily bump.
From-SVN: r134576
2008-04-23 00:17:38 +00:00
Steve Ellcey
226e8d20a1 wo_prof_global_var.c: Initialize array.
* gcc.dg/struct/wo_prof_global_var.c: Initialize array.
	* gcc.dg/struct/wo_prof_malloc_size_var.c: Ditto.
	* gcc.dg/struct/w_prof_local_var.c: Ditto.
	* gcc.dg/struct/w_prof_global_var.c: Ditto.
	* gcc.dg/struct/wo_prof_local_var.c: Ditto.

From-SVN: r134572
2008-04-22 23:31:58 +00:00
Jason Merrill
e76d7cc71d re PR c++/35316 (ICE with typeof/decltype and bit-fields)
PR c++/35316
        * semantics.c (finish_decltype_type): Check DECL_BIT_FIELD_TYPE
        to see if DECL_BIT_FIELD_TYPE should be used, not some other flag.
        * typeck.c (is_bitfield_expr_with_lowered_type): Likewise.

From-SVN: r134571
2008-04-22 19:13:19 -04:00
Jakub Jelinek
63cb92c1ee re PR rtl-optimization/36017 (Miscompilation of tail call sqrt)
PR rtl-optimization/36017
	* builtins.c (expand_errno_check): Clear CALL_EXPR_TAILCALL before
	expanding the library call.

	* gcc.dg/pr36017.c: New test.

From-SVN: r134569
2008-04-23 00:33:48 +02:00
Jakub Jelinek
d7b5fa3150 re PR c++/35747 (ICE with undefined variable in statement expression)
PR c++/35747
	* semantics.c (finish_stmt_expr): Call pop_stmt_list even if the stmt
	expression is errorneous.

	* g++.dg/ext/stmtexpr13.C: New test.

From-SVN: r134567
2008-04-23 00:06:58 +02:00
Ian Lance Taylor
b2f06c39b0 fold-const.c (pointer_may_wrap_p): Call int_size_in_bytes rather than size_in_bytes.
./:	* fold-const.c (pointer_may_wrap_p): Call int_size_in_bytes rather
	than size_in_bytes.
testsuite/:
	* gcc.c-torture/compile/20080419-1.c: New test.

From-SVN: r134566
2008-04-22 21:23:23 +00:00
Pat Haugen
aafc759a8a rs6000.c (rs6000_register_move_cost): Increase cost of LR/CTR moves for Power6.
* config/rs6000/rs6000.c (rs6000_register_move_cost): Increase cost
	of LR/CTR moves for Power6.

From-SVN: r134565
2008-04-22 19:28:56 +00:00
Daniel Franke
28f6862553 cpplib.h (cpp_define_formatted): New.
2008-04-22  Daniel Franke  <franke.daniel@gmail.com>

        * include/cpplib.h (cpp_define_formatted): New.
        * directives.c (cpp_define_formatted): New.

From-SVN: r134564
2008-04-22 14:04:32 -04:00
Kris Van Hees
6ca1c37cdb re PR testsuite/35981 (FAIL: gcc.dg/utf-cvt.c (test for warnings, line 46/47) with -m64)
2008-04-22  Kris Van Hees <kris.van.hees@oracle.com>

	PR testsuite/35981
	* g++.dg/ext/utf-cvt.C: Handle 64-bit platforms correctly.
	Add tests for 'long long'.
	* gcc.dg/utf-cvt.c: Handle 64-bit platforms correctly.
	Add tests for 'long long'.

From-SVN: r134562
2008-04-22 17:20:40 +00:00
Joel Sherrill
d9126ef8c8 s-osinte-rtems.adb: Add sigalstack function.
2008-04-22  Joel Sherrill <joel.sherrill@oarcorp.com>

	* s-osinte-rtems.adb: Add sigalstack function.
	* s-osinte-rtems.ads: Add SO_ONSTACK and sigalstack
	function. Add Alternate_Stack and Alternate_Stack_Size.
	Add missing process_shared field to pthread_condattr_t
	and change ss_low_priority to int from timespec.

From-SVN: r134560
2008-04-22 14:15:04 +00:00
Kenneth Zadeck
5b4603fac2 re PR middle-end/36003 (pass_fast_rtl_byte_dce is disabled currently because of breakage in CC0 targets)
2008-04-22  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR middle-end/36003
	* passes.c (init_optimization_passes): Remove
	pass_fast_rtl_byte_dce.

From-SVN: r134559
2008-04-22 13:43:47 +00:00
Uros Bizjak
6126672ef1 re PR target/29096 (faster _mm_cvtpi32x2_ps for xmmintrin.h)
PR target/29096
	* config/i386/xmmintrin.h (_mm_cvtpi16_ps): Rearrange calls to
	builtin functions to generate faster code.
	(_mm_cvtpu16_ps): Ditto.
	(_mm_cvtpi32x2_ps): Ditto.

From-SVN: r134558
2008-04-22 14:41:14 +02:00
Nick Clifton
e842d14ec8 * gcc.dg/Wconversion-real.c: Add missing end of comment marker.
From-SVN: r134557
2008-04-22 10:06:29 +00:00
Nick Clifton
53ed2f0e06 common.opt (ftree-loop-distribution): Add Optimization attribute.
* common.opt (ftree-loop-distribution): Add Optimization
        attribute.

From-SVN: r134556
2008-04-22 09:58:19 +00:00
Nick Clifton
7dd6898692 frv.c (frv_stack_info): Use crtl instead of cfun.
* config/frv/frv.c (frv_stack_info): Use crtl instead of cfun.
  (frv_expand_builtin_va_start): Likewise.

From-SVN: r134554
2008-04-22 09:49:43 +00:00
Nick Clifton
f6d2671ea9 arm.c (thumb_find_work_register): Fix location of argument register count.
* config/arm/arm.c (thumb_find_work_register): Fix location of
  argument register count.

From-SVN: r134553
2008-04-22 09:42:25 +00:00
Maxim Kuvyrkov
826fadba81 Support scheduling for ColdFire V1 and V3 microarchitecture.
Improve scheduling of multiplication instructions.

	* config/m68k/m68k.md (cpu): Add cfv1 and cfv3.  Rename cf_v2 to cfv1.
	(mac): New instruction attribute.
	* config/m68k/m68k.c (override_options): Handle cfv1, cfv3 and mac.
	(m68k_sched_mac): New variable.
	(m68k_sched_attr_type2, m68k_sched_md_init_global): Update.
	Handle cfv1 and cfv3.
	(max_insn_size): New static variable.
	(struct _sched_ib): New type.
	(sched_ib): New static variable.
	(sched_ib_size, sched_ib_filled, sched_ib_insn): Convert variables
	to fields of 'struct _sched_ib sched_ib'.  Update all uses.
	(m68k_sched_variable_issue): Add modeling of cfv3 instruction buffer.
	Update.
	(m68k_sched_md_init_global, m68k_sched_md_finish_global,
	m68k_sched_md_init, m68k_sched_md_finish): Handle cfv1 and cfv3.  Init
	new variables.  Update.
	(m68k_sched_dfa_pre_advance_cycle, m68k_sched_dfa_post_advance_cycle):
	Add modeling of cfv3 instruction buffer.  Update.
	* config/m68k/m68k-protos.h (m68k_sched_mac): Declare.
	* config/m68k/m68k.h (TUNE_CFV3): New macro.
	* config/m68k/cf.md: Change substrings 'cf_v2' to 'cfv12' or 'cfv123'.
	(cf_* reservations): Rename to cfv12 or cfv123 to indicate cores
	a particular reservation applies to.
	(type2): Reorganize attribute values.  Rename alu to alu_reg,
	alu_l to alu, move_l to omove.  Join move to alu.  Split mul
	to mul_l and mul_w.
	(cf_ib_*): Simplify description of instruction buffer.
	(cf_ib_w0, cf_ib_w4, cf_ib_w5, cf_ib_w6): Remove.
	(cf_mem): Split into cf_mem1 and cf_mem2.
	(cf_v2_move_??): Rename to cfv12_alu_??.
	(cf_v2_move_l_??): Rename to cfv12_omove_??.
	(cf_v2_mul_??): Remove reservations.
	(cfv12_mul_l_??, cfv12_mul_w_??, cfv12_mac_w_??, cfv12_mac_l_??,
	cfv12_emac_??, cfv12_emac_w_i0): New reservations.
	(cfv12_rts, cfv12_call, cfv12_bcc, cfv12_bra, cfv12_jmp): Move to
	appropriate place.
	(cfv3_alu_10, cfv3_omove_10, cfv3_alu_i0, cfv3_omove_i0, cfv3_alu_01,
	cfv3_alu_0i, cfv3_alu_11, cfv3_omove_11, cfv3_alu_i1, cfv3_omove_i1,
	cfv3_alu_1i, cfv3_omove_1i, cfv3_pea_11, cfv3_pea_i1, cfv3_mul_w_10,
	cfv3_mul_l_10, cfv3_mul_w_i0, cfv3_mac_w_10, cfv3_mac_l_10,
	cfv3_mac_w_i0, cfv3_emac_10, cfv3_emac_w_i0, cfv3_rts, cfv3_call,
	cfv3_bcc, cfv3_bra, cfv3_jmp): New reservations.
	(cfv3_*_1, cfv3_*_2, cfv3_*_3): New instruction reservations that are
	expansions of the above reservations for instructions of sizes
	1, 2 and 3 words.

From-SVN: r134552
2008-04-22 07:28:42 +00:00
Maxim Kuvyrkov
c23da840b2 * rtl-factoring.c (collect_patterns_seqs): Handle CC0 targets.
From-SVN: r134551
2008-04-22 07:24:06 +00:00