Commit Graph

86184 Commits

Author SHA1 Message Date
Alexandre Oliva
d2b6be726e tree-flow-inline.h (next_readonly_imm_use): Return NULL_USE_OPERAND_P after the end.
* tree-flow-inline.h (next_readonly_imm_use): Return
NULL_USE_OPERAND_P after the end.

From-SVN: r132793
2008-03-01 03:34:33 +00:00
Richard Guenther
2fb5f2af00 re PR middle-end/35411 (internal compiler error: in set_ssa_val_to, at tree-ssa-sccvn.c:1075)
2008-03-01  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/35411
	* tree-sra.c (sra_build_assignment): Split conversion to
	final type to a separate statement if we are not assigning
	to a register.

From-SVN: r132791
2008-03-01 00:27:26 +00:00
GCC Administrator
87504f4df6 Daily bump.
From-SVN: r132789
2008-03-01 00:18:22 +00:00
Jerry DeLisle
44000dbbe0 re PR fortran/35059 (Seg fault when max constructor limit reached)
2008-02-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/35059
	* expr.c (find_array_element): Modify traversing the constructor to
	avoid trying to access NULL memory pointed to by next for the
	last element. (find_array_section): Exit while loop if cons->next is
	NULL.
	* trans-expr.c (gfc_conv_scalar_char_value): Initialize gfc_typespec.
	(gfc_conv_function_call): Same.
	* decl.c (gfc_match_implicit): Same.
	* trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Same.

From-SVN: r132782
2008-02-29 22:50:25 +00:00
Francois-Xavier Coudert
c17ee676e5 fold-const.c (fold_convertible_p): Correct the logic to follow that in fold_convert().
* fold-const.c (fold_convertible_p): Correct the logic to follow
	that in fold_convert().

From-SVN: r132780
2008-02-29 22:01:22 +00:00
Douglas Gregor
f31c9f09a1 re PR c++/35315 (ICE with attribute transparent_union)
2008-02-29  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/35315
	* tree-inline.c (build_duplicate_type): When we make a
	duplicate type, make it unique in the canonical types system.

2008-02-29  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/35315
	* g++.dg/ext/attrib32.C: Add another test case.

From-SVN: r132779
2008-02-29 21:41:38 +00:00
Manuel López-Ibáñez
359be76ebb parser.c (cp_parser_nonclass_name): New.
2008-02-29  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

cp/
	* parser.c (cp_parser_nonclass_name): New.
	(cp_parser_pseudo_destructor_name): Use it instead of
	cp_parser_type_name.
	(cp_parser_type_name): Move code to cp_parser_nonclass_name.

From-SVN: r132778
2008-02-29 21:38:00 +00:00
Tom Tromey
966e8f4d3f toplev.c (input_file_stack, [...]): Remove.
gcc
	* toplev.c (input_file_stack, input_file_stack_tick, fs_p,
	input_file_stack_history, input_file_stack_restored): Remove.
	(push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
	* input.h (struct file_stack): Remove.
	(push_srcloc, pop_srcloc, restore_input_file_stack): Likewise.
	(input_file_stack, input_file_stack_tick, INPUT_FILE_STACK_BITS):
	Likewise.
	* diagnostic.h (struct diagnostic_context) <last_module>: Change
	type.
	(diagnostic_last_module_changed): Add 'map' argument.
	(diagnostic_set_last_function): Likewise.
	* diagnostic.c (undiagnostic_report_current_module): Iterate using
	line map, not input_file_stack.
	* c-lex.c (fe_file_change): Don't use push_srcloc or pop_srcloc.
gcc/cp
	* parser.c (struct cp_token) <input_file_stack_index>: Remove.
	(cp_lexer_get_preprocessor_token): Update.
	(cp_lexer_set_source_position_from_token): Don't call
	restore_input_file_stack.
	* lex.c (cxx_init): Don't use push_srcloc or pop_srcloc.
gcc/testsuite
	* g++.dg/warn/pragma-system_header2.C: Ignore "included from"
	line.

From-SVN: r132775
2008-02-29 20:09:05 +00:00
Paul Brook
3cbe0ba6aa arm.md (arm_addsi3): Add r/k/n alternative.
2008-02-29  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.md (arm_addsi3): Add r/k/n alternative.

From-SVN: r132774
2008-02-29 18:57:29 +00:00
Paul Brook
d96ae4d435 ieee754-df.S (muldf3): Use RET macros.
2008-02-29  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/ieee754-df.S (muldf3): Use RET macros.

From-SVN: r132772
2008-02-29 18:20:29 +00:00
Richard Guenther
5be891a43c tree-ssa-pre.c (get_sccvn_value): Create missing VNs via vn_lookup_or_add.
2008-02-29  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-pre.c (get_sccvn_value): Create missing VNs via
	vn_lookup_or_add.
	* tree-ssa-sccnv.c (visit_reference_op_store): Use the rhs
	value for comparing for a store match.
	(simplify_unary_expression): Do nothing for SSA_NAMEs.
	(try_to_simplify): Do not do a full-blown reference lookup.

From-SVN: r132768
2008-02-29 14:01:09 +00:00
Tom Tromey
0a5fe1104e expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on method.
* expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on
	method.
	* java-tree.h (struct lang_decl_func): Remove obsolete comment.

From-SVN: r132767
2008-02-29 12:55:06 +00:00
Kaz Kojima
b0fbea136e sh.c (sh_scalar_mode_supported_p): New function.
* config/sh/sh.c (sh_scalar_mode_supported_p): New function.
	(TARGET_SCALAR_MODE_SUPPORTED_P): Define.

	* config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling.

From-SVN: r132766
2008-02-29 12:46:19 +00:00
Sebastian Pop
0c96231b2f tree-loop-linear.c (try_interchange_loops): Compare memory access strides against cache sizes.
* tree-loop-linear.c (try_interchange_loops): Compare memory access
	strides against cache sizes.

	* testsuite/gcc.dg/tree-ssa/ltrans-8.c: Increase the size of strides
	to make the interchange profitable.

From-SVN: r132765
2008-02-29 12:41:14 +00:00
Kaz Kojima
d973ac5a9f sh.c (sh_secondary_reload): Handle loading a float constant to fpul.
* config/sh/sh.c (sh_secondary_reload): Handle loading a float
	constant to fpul.

From-SVN: r132764
2008-02-29 12:37:34 +00:00
GCC Administrator
a9cbbfed45 Daily bump.
From-SVN: r132761
2008-02-29 00:17:35 +00:00
Daniel Franke
766d0c8c44 re PR fortran/31463 ([patch] inconsistent warnings if function return value is not set)
gcc/fortran:
2008-02-28  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/31463
        PR fortran/33950
        PR fortran/34296
        * lang.opt: Added -Wreturn-type.
        * options.c (gfc_handle_option): Recognize -Wreturn-type.
        * trans-decl.c (gfc_trans_deferred_vars): Emit warnings for funtions
        where the result value is not set.
        (gfc_generate_function_code): Likewise.
        (generate_local_decl): Emit warnings for funtions whose RESULT
        variable is not set.

gcc/testsuite:
2008-02-28  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/31463
        PR fortran/33950
        PR fortran/34296
        * gfortran.dg/arrayio_11.f90: Fixed test.
        * gfortran.dg/arrayio_12.f90: Likewise.
        * gfortran.dg/module_read_1.f90: Added warning-directives.
        * gfortran.dg/pr32242.f90: Likewise.
        * gfortran.dg/result_in_spec_3.f90: Likewise.
        * gfortran.dg/use_12.f90: Likewise.
        * gfortran.dg/warn_function_without_result.f90 : New test.

From-SVN: r132756
2008-02-28 15:22:55 -05:00
Richard Sandiford
4613543f82 simplify-rtx.c (simplify_unary_operation_1): Extend the handling of SUBREG_PROMOTED_VAR_P to cope with cases where the...
gcc/
	* simplify-rtx.c (simplify_unary_operation_1): Extend the handling
	of SUBREG_PROMOTED_VAR_P to cope with cases where the extended value
	is smaller than the original promoted value.
	(simplify_subreg): If OP is a SUBREG, try to preserve its
	SUBREG_PROMOTED_VAR_P information.

From-SVN: r132755
2008-02-28 20:02:09 +00:00
Francois-Xavier Coudert
43e7fd21ac re PR fortran/34868 (ICE with -ff2c for function returning a complex number)
PR fortran/34868

	* trans-expr.c (gfc_conv_variable): Don't build indirect
	references when explicit interface is mandated.
	* resolve.c (resolve_formal_arglist): Set attr.always_explicit
	on the result symbol as well as the procedure symbol.

	* gfortran.dg/f2c_9.f90: New test.

From-SVN: r132751
2008-02-28 15:42:21 +00:00
Steven Bosscher
cbfb21c1c1 tree-ssa-sccvn (vn_ssa_aux_obstack): New obstack.
2008-02-28  Steven Bosscher  <stevenb.gcc@gmail.com>

	* tree-ssa-sccvn (vn_ssa_aux_obstack): New obstack.
	(VN_INFO_GET): Allocate new objects on the obstack.
	(init_scc_vn): Initialize the obstack.  Use XDELETE instead of free
	for rpo_numbers_temp, for consistency.
	(free_scc_vn): Free the obstack.

From-SVN: r132750
2008-02-28 15:39:33 +00:00
Sebastian Pop
dea61d9282 invoke.texi: Document -ftree-loop-distribution.
* doc/invoke.texi: Document -ftree-loop-distribution.
	* tree-loop-distribution.c: New.
	* tree-pass.h (pass_loop_distribution): New.
	* graphds.h (struct graph): Add htab_t indices.
	* timevar.def (TV_TREE_LOOP_DISTRIBUTION): New.
	* tree-vectorizer.c (rename_variables_in_loop): Extern.
	(slpeel_tree_duplicate_loop_to_edge_cfg): Init PENDING_STMT to NULL.
	* tree-vectorizer.h (tree_duplicate_loop_on_edge): Declared.
	* tree-data-ref.c (debug_data_dependence_relations): New.
	(dump_data_dependence_relation): Also print data references.
	(free_data_ref): Extern.
	(same_access_functions): Moved...
	(find_vertex_for_stmt): Renamed rdg_vertex_for_stmt.
	(dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
	debug_rdg_component, dump_rdg, debug_rdg, dot_rdg_1, dot_rdg,
	struct rdg_vertex_info, rdg_vertex_for_stmt): New.
	(create_rdg_edge_for_ddr, create_rdg_vertices): Cleaned up.
	(stmts_from_loop): Skip LABEL_EXPR.
	(hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del): New.
	(build_rdg): Initialize rdg->indices htab.
	(free_rdg, stores_from_loop, ref_base_address,
	rdg_defs_used_in_other_loops_p, have_similar_memory_accesses,
	have_similar_memory_accesses_1, ref_base_address_1,
	remove_similar_memory_refs): New.
	* tree-data-ref.h: Depend on tree-chrec.h.
	(debug_data_dependence_relations, free_data_ref): Declared.
	(same_access_functions): ... here.
	(ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level): New.
	(struct rdg_vertex): Add has_mem_write and has_mem_reads.
	(RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT,
	RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT): New.
	(dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
	debug_rdg_component, dump_rdg, debug_rdg, dot_rdg,
	rdg_vertex_for_stmt): Declared.
	(struct rdg_edge): Add level.
	(RDGE_LEVEL): New.
	(free_rdg, stores_from_loop, remove_similar_memory_refs,
	rdg_defs_used_in_other_loops_p, have_similar_memory_accesses): Declared.
	(rdg_has_similar_memory_accesses): New.
	* tree-vect-analyze.c: Remove unused static decls.
	* lambda.h (dependence_level): New.
	* common.opt (ftree-loop-distribution): New.
	* tree-flow.h (mark_virtual_ops_in_bb, 
	slpeel_tree_duplicate_loop_to_edge_cfg,
	rename_variables_in_loop): Declared.
	* Makefile.in (TREE_DATA_REF_H): Depend on tree-chrec.h.
	(OBJS-common): Add tree-loop-distribution.o.
	(tree-loop-distribution.o): New rule.
	* tree-cfg.c (mark_virtual_ops_in_bb): New.
	(mark_virtual_ops_in_region): Use mark_virtual_ops_in_bb.
	* passes.c (init_optimization_passes): Schedule pass_loop_distribution.

	* testsuite/gcc.dg/tree-ssa/ldist-{1..12}.c: New.

From-SVN: r132745
2008-02-28 12:37:24 +00:00
Joseph Myers
dde75838e9 re PR target/33963 (Dllimport attribute wrongly accepted on typedefs)
PR target/33963
	* tree.c (handle_dll_attribute): Disallow TYPE_DECLs for types
	other than structures and unions.

From-SVN: r132744
2008-02-28 12:34:51 +00:00
Richard Guenther
3b3024215f revert: tree-flow.h (uid_decl_map_hash, [...]): Move ...
2008-02-28  Richard Guenther  <rguenther@suse.de>

        Revert:
        2008-02-26  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
	* tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
	(lookup_decl_from_uid): Declare.
	(remove_decl_from_map): Likewise.
	* tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
	* tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
	(decl_for_uid_map): New global hashtable mapping DECL_UID
	to the decl tree.
	(init_ttree): Allocate it.
	(insert_decl_to_uid_decl_map): New helper function.
	(make_node_stat): Insert new decls into the map.
	(copy_node_stat): Likewise.
	(lookup_decl_from_uid): New function.
	(remove_decl_from_map): Likewise.
	(print_decl_for_uid_map_statistics): New helper.
	(dump_tree_statistics): Call it.

	cp/
	* decl.c (duplicate_decls): Remove decl from global mapping
	before ggc_freeing it.

	* tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
	(referenced_var_iterator): Adjust.
	(FOR_EACH_REFERENCED_VAR): Adjust.
	(FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
	(num_referenced_vars): Adjust.
	* tree-flow-inline.h (gimple_referenced_vars): Adjust.
	(first_referenced_var): Remove.
	(end_referenced_vars_p): Likewise.
	(next_referenced_var): Likewise.
	(referenced_var_iterator_set): New helper function.
	* tree-dfa.c (referenced_var_lookup): Adjust.
	(referenced_var_check_and_insert): Likewise.
	(remove_referenced_var): Likewise.
	* tree-ssa.c (verify_flow_insensitive_alias_info): Use
	FOR_EACH_REFERENCED_VAR_IN_BITMAP.
	(verify_call_clobbering): Likewise.
	(verify_memory_partitions): Likewise.
	(init_tree_ssa): Allocate bitmap instead of hashtable for
	referenced_vars.
	(delete_tree_ssa): Adjust.
	* tree-ssa-alias.c (mark_aliases_call_clobbered): Use
	FOR_EACH_REFERENCED_VAR_IN_BITMAP.
	(compute_tag_properties): Likewise.
	(set_initial_properties): Likewise.
	(find_partition_for): Likewise.
	(update_reference_counts): Likewise.
	(dump_may_aliases_for): Likewise.
	* tree-ssa-operands.c (add_virtual_operand): Likewise.
	(add_call_clobber_ops): Likewise.
	(add_call_read_ops): Likewise.
	(get_asm_expr_operands): Likewise.
	* tree-into-ssa.c (dump_decl_set): Likewise.
	(update_ssa): Likewise.
	* tree-sra.c (scan_function): Likewise.
	(decide_instantiations): Likewise.
	(scalarize_parms): Likewise.
	* tree-ssa-alias-warnings.c (build_reference_table): Likewise.
	(dsa_named_for): Likewise.
	* tree-ssa-structalias.c (update_alias_info): Likewise.
	(merge_smts_into): Likewise.

From-SVN: r132740
2008-02-28 09:56:54 +00:00
Uros Bizjak
f4abe9e0e3 pr34351.c: Compile for x86 targets only.
* gcc.dg/pr34351.c: Compile for x86 targets only.  Use %ebx register.

From-SVN: r132738
2008-02-28 10:39:13 +01:00
David Daney
792046b6b1 * HACKING: Correct typo in find command.
From-SVN: r132736
2008-02-28 06:52:59 +00:00
GCC Administrator
f34980bfb3 Daily bump.
From-SVN: r132734
2008-02-28 00:17:55 +00:00
Francois-Xavier Coudert
ca175312c1 * gfortran.dg/large_real_kind_3.F90: Reverse previous commit.
From-SVN: r132730
2008-02-27 22:32:56 +00:00
Ralf Wildenhues
d482a07324 re PR preprocessor/35379 (-MT generates a target string too long over two lines)
libcpp:
	PR preprocessor/35379
	* mkdeps.c (deps_write): Ensure the first target always appears
	in the first column, without leading backslash newline.  Avoid
	some more extra whitespace.

From-SVN: r132727
2008-02-27 21:42:23 +00:00
David Daney
296746bda3 natPlainSocketImplPosix.cc (bind): Remove check for null host.
* gnu/java/net/natPlainSocketImplPosix.cc (bind): Remove check for
	null host.

From-SVN: r132726
2008-02-27 18:53:02 +00:00
David Daney
2a1ed4fcfd re PR target/34409 (MIPS: Non-optimal DWARF frame data)
PR target/34409
	* config/mips/iris.h (MIPS_DEBUGGING_INFO): Define.
	* config/mips/openbsd.h (MIPS_DEBUGGING_INFO): Same.
	* config/mips/sde.h (MIPS_DEBUGGING_INFO): Remove undef.
	* config/mips/vxworks.h (MIPS_DEBUGGING_INFO): Same.
	* config/mips/mips.h (MIPS_DEBUGGING_INFO): Remove define.

From-SVN: r132725
2008-02-27 18:04:49 +00:00
Uros Bizjak
c92712d17a re PR target/25477 (builtin functions should use $LDBL128 suffix on darwin when appropriate)
PR target/25477
        * config/darwin-ppc-ldouble-patch.def (BUILT_IN_NANL): Add.
        (BUILT_IN_NEXTTOWARD): Remove.
        (BUILT_IN_NEXTTOWARDF): Ditto.
        * config/darwin.c (darwin_patch_builtin): Use ACONCAT instead of
        alloca/strcpy/strcat.  Remove commented-out code.  Fix whitespace.

From-SVN: r132723
2008-02-27 18:29:58 +01:00
Tom Tromey
a8bafc433c tree-dump.c (dequeue_and_dump): Check DECL_SAVED_TREE, not DECL_LANG_SPECIFIC, when dumping body.
* tree-dump.c (dequeue_and_dump) <FUNCTION_DECL>: Check
	DECL_SAVED_TREE, not DECL_LANG_SPECIFIC, when dumping body.

From-SVN: r132722
2008-02-27 15:49:19 +00:00
Jan Beulich
f35f8a60df mmx-1.c: Add -Werror-implicit-function-declaration to dg-options.
gcc/testsuite/
2008-02-27  Jan Beulich  <jbeulich@novell.com>

	* gcc.target/i386/mmx-1.c: Add
	-Werror-implicit-function-declaration to dg-options.
	* gcc.target/i386/mmx-2.c: Likewise.
	* gcc.target/i386/sse-13.c: Likewise.
	* gcc.target/i386/sse-14.c: Likewise.

From-SVN: r132721
2008-02-27 15:03:58 +00:00
Jan Beulich
8220334aba c-decl.c (merge_decls): Use DECL_USER_ALIGN() on olddecl to update the respective field on newdecl.
gcc/
2008-02-27  Jan Beulich  <jbeulich@novell.com>

	* c-decl.c (merge_decls): Use DECL_USER_ALIGN() on olddecl to
	update the respective field on newdecl.

From-SVN: r132719
2008-02-27 14:59:50 +00:00
Francois-Xavier Coudert
b5a4419cde re PR fortran/33387 (Fortran front-end should translate intrinsics by calling C99 function instead of libgfortran functions)
PR fortran/33387

	* trans.h: Remove prototypes for gfor_fndecl_math_exponent4,
	gfor_fndecl_math_exponent8, gfor_fndecl_math_exponent10 and
	gfor_fndecl_math_exponent16.
	* f95-lang.c (build_builtin_fntypes): Add new function types.
	(gfc_init_builtin_functions): Add new builtins for nextafter,
	frexp, ldexp, fabs, scalbn and inf.
	* iresolve.c (gfc_resolve_rrspacing): Don't add hidden arguments.
	(gfc_resolve_scale): Don't convert type of second argument.
	(gfc_resolve_set_exponent): Likewise.
	(gfc_resolve_size): Don't add hidden arguments.
	* trans-decl.c: Remove gfor_fndecl_math_exponent4,
	gfor_fndecl_math_exponent8, gfor_fndecl_math_exponent10 and
	gfor_fndecl_math_exponent16.
	* trans-intrinsic.c (gfc_intrinsic_map): Remove intrinsics
	for scalbn, fraction, nearest, rrspacing, set_exponent and
	spacing.
	(gfc_conv_intrinsic_exponent): Directly call frexp.
	(gfc_conv_intrinsic_fraction, gfc_conv_intrinsic_nearest,
	gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing,
	gfc_conv_intrinsic_scale, gfc_conv_intrinsic_set_exponent): New
	functions.
	(gfc_conv_intrinsic_function): Use the new functions above.

From-SVN: r132713
2008-02-27 14:32:02 +00:00
Revital Eres
8bf6e27028 Fix PR rtl-optimization/34999
From-SVN: r132711
2008-02-27 13:27:56 +00:00
Richard Guenther
7fb52af2ec re PR tree-optimization/25290 (PHI-OPT could be rewritten so that is uses fold)
2008-02-27  Richard Guenther  <rguenther@suse.de>

	PR middle-end/25290
	* fold-const.c (fold_unary): Return the correct argument,
	converted to the result type.

	* gcc.c-torture/execute/pr35390.c: New testcase.

From-SVN: r132710
2008-02-27 13:17:17 +00:00
Arnaud Charlet
47d4302293 Minor reformatting.
From-SVN: r132709
2008-02-27 14:07:30 +01:00
Samuel Tardieu
acf6b7ab30 re PR ada/22255 (Reset on shared file causes Use_Error.)
gcc/ada/
	PR ada/22255
	* s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed.

    gcc/testsuite/
	PR ada/22255
	* gnat.dg/test_direct_io.adb: New file.

From-SVN: r132708
2008-02-27 12:12:14 +00:00
Samuel Tardieu
f5c064ab04 re PR ada/34799 ([Ada] Assertion fails when no component clause is given for generic record member)
gcc/ada/
	PR ada/34799
	* sem_ch13.adb (Analyze_Record_Representation_Clause): Check
	that underlying type is present.

    gcc/testsuite/
	PR ada/34799
	* gnat.dg/specs/pr34799.ads: New test.

From-SVN: r132707
2008-02-27 11:53:55 +00:00
Richard Guenther
70582b3afe re PR middle-end/34971 (bitfield rotates are folded and expanded wrong)
2008-02-27  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34971
	* expr.c (expand_expr_real_1): Assert on rotates that operate
	on partial modes.
	* fold-const.c (fold_binary): Use the types precision, not the
	bitsize of the mode if folding rotate expressions.  Build rotates
	only for full modes.

	* gcc.c-torture/execute/pr34971.c: New testcase.

From-SVN: r132706
2008-02-27 09:50:04 +00:00
Jakub Jelinek
a15f0fd028 re PR c++/35368 (With #pragma visibility, `vtable for __cxxabiv1::__class_type_info' is emitted as a hidden-visibility relocation)
PR c++/35368
	* rtti.c: Include c-pragma.h.
	(push_abi_namespace, pop_abi_namespace): New functions.
	(build_dynamic_cast_1, tinfo_base_init, get_pseudo_ti_index,
	create_tinfo_types, emit_support_tinfos): Use them.
	* Make-lang.in (cp/rtti.o): Depend on $(C_PRAGMA_H).

	* g++.dg/ext/visibility/typeinfo2.C: New test.
	* g++.dg/ext/visibility/typeinfo3.C: New test.

From-SVN: r132704
2008-02-27 10:09:05 +01:00
Jakub Jelinek
a25a8f3be3 c-ppoutput.c (scan_translation_unit): Handle CPP_PRAGMA and CPP_PRAGMA_EOL.
* c-ppoutput.c (scan_translation_unit): Handle CPP_PRAGMA
	and CPP_PRAGMA_EOL.
	* c-pragma.c (pragma_ns_name): New typedef.
	(registered_pp_pragmas): New variable.
	(c_pp_lookup_pragma): New function.
	(c_register_pragma_1): If flag_preprocess_only, do nothing
	for non-expanded pragmas, for expanded ones push pragma's
	namespace and name into registered_pp_pragmas vector.
	(c_invoke_pragma_handler): Register OpenMP pragmas even when
	flag_preprocess_only, don't register GCC pch_preprocess
	pragma if flag_preprocess_only.
	* c-opts.c (c_common_init): Call init_pragma even if
	flag_preprocess_only.
	* c-pragma.c (c_pp_lookup_pragma): New prototype.
	* config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Don't call
	cpp_register_pragma if flag_preprocess_only.

	* gcc.dg/gomp/preprocess-1.c: New test.

From-SVN: r132703
2008-02-27 09:51:22 +01:00
GCC Administrator
9cc028fa79 Daily bump.
From-SVN: r132698
2008-02-27 00:17:49 +00:00
Joseph Myers
68642e419f * gcc.dg/bf-ms-attrib.c (main): Return 0.
From-SVN: r132692
2008-02-26 23:41:35 +00:00
Joseph Myers
36e2f1c132 mmx-4.c (dump64_64): Use printf %I64 on MinGW.
* gcc.target/i386/mmx-4.c (dump64_64): Use printf %I64 on MinGW.
	* gcc.target/i386/sse-6.c (dump128_64): Likewise.

From-SVN: r132691
2008-02-26 23:40:46 +00:00
Ralf Wildenhues
369239efc9 re PR c/28800 (warning "ISO C forbids an empty source file" could be improved)
gcc/:
PR c/28800
* c-parser.c (c_parser_translation_unit): Warn for empty
translation unit, not empty source file.

gcc/testsuite/:
PR c/28800
* gcc.dg/empty-source-2.c: Adjust for warning message.
* gcc.dg/empty-source-3.c: Likewise.
* gcc.dg/pack-test-2.c: Adjust comment.
* gcc.dg/pragma-ep-2.c: Likewise.
* gcc.dg/pragma-re-2.c: Likewise.
* gcc.dg/va-arg-2.c: Likewise.

From-SVN: r132690
2008-02-26 22:41:16 +00:00
Tobias Burnus
e19bb1866c re PR fortran/35033 (Valid ASSIGNMENT(=) rejected)
2008-02-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/35033
        * interface.c (check_operator_interface): Show better line for
        * error
        messages; fix constrains for user-defined assignment operators.
        (gfc_extend_assign): Fix constrains for user-defined assignment
        operators.

2008-02-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/35033
        * gfortran.dg/assignment_2.f90: New.

From-SVN: r132689
2008-02-26 23:33:35 +01:00
Paul Brook
f5c630c312 arm.c (thumb_set_frame_pointer): Ensure SP is first operand for Thumb-2.
2008-02-26  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.c (thumb_set_frame_pointer): Ensure SP is first
	operand for Thumb-2.
	* config/arm/arm.h (reg_class): Add CORE_REGS.
	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Ditto.
	(BASE_REG_CLASS): Use CORE_REGS.
	(PREFERRED_RELOAD_CLASS): Add STACK_REG.
	(REGNO_MODE_OK_FOR_REG_BASE_P): Use REGNO_MODE_OK_FOR_BASE_P.
	(REGNO_OK_FOR_INDEX_P): Exclude SP.
	(ARM_REG_OK_FOR_INDEX_P): Always define.  Use
	ARM_REGNO_OK_FOR_INDEX_P.
	(ARM_PRINT_OPERAND_ADDRESS): Swap operands for [reg, sp].
	* config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn,
	arm_movsi_insn, thumb1_movsi_insni, stack_tie): Add "k" alternatives.
	(ldm/stm peepholes): Ditto.
	* config/arm/thumb2.md (thumb2_movdi): Add "k" alternatives.
	* config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp): Ditto.
	* config/arm/iwmmxt.md (iwmmxt_movsi_insn): Ditto.
	* config/arm/constraints.md: Enable "k" constraint on ARM.

From-SVN: r132687
2008-02-26 22:21:08 +00:00
Ben Elliston
0d158b6e40 rs6000.c: Annotate cache line size field in all instances of struct processor_costs.
* config/rs6000/rs6000.c: Annotate cache line size field in all
	instances of struct processor_costs.

From-SVN: r132685
2008-02-27 07:10:40 +11:00