Commit Graph

93357 Commits

Author SHA1 Message Date
Uros Bizjak
f6a51d3184 i386.c (print_operand): Fix typo.
* config/i386/i386.c (print_operand) ['z']: Fix typo.

From-SVN: r146804
2009-04-26 18:50:24 +02:00
Matthias Klose
2a8428f804 aot-compile.in: Print diagnostics for malformed or invalid class files.
2009-04-26  Matthias Klose <doko@ubuntu.com>

        * contrib/aot-compile.in: Print diagnostics for malformed or invalid
        class files.
        * contrib/generate-cacerts.pl.in: New.
        * configure.ac (AC_CONFIG_FILES): Add generate-cacerts.pl.

From-SVN: r146802
2009-04-26 14:11:58 +00:00
Kai Tietz
4b97723d58 mingw-w64.h (STANDARD_INCLUDE_DIR): Redefine it to just use mingw/include.
2009-04-26  Kai Tietz  <kai.tietz@onevision.com>

	* config/i386/mingw-w64.h (STANDARD_INCLUDE_DIR):
	Redefine it to just use mingw/include.
	(ASM_SPEC): Rules for -m32 and -m64.
	(LINK_SPEC): Use Likewise.
	(SPEC_32): New define.
	(SPEC_64): Likewise.
	(SUB_LINK_SPEC): Likewise.
	(MULTILIB_DEFAULTS): New define.
	* config/i386/t-mingw-w64 (MULTILIB_OPTIONS):
	Add multilib options.
	(MULTILIB_DIRNAMES): Likewise.
	(MULTILIB_OSDIRNAMES): Likewise.
	(LIBGCC): Likewise.
	(INSTALL_LIBGCC): Likewise.

From-SVN: r146801
2009-04-26 15:50:12 +02:00
Joseph Myers
991d662102 re PR c/39556 (statics in C99 inline functions later declared extern)
PR c/39556
	* c-tree.h (enum c_inline_static_type): New.
	(record_inline_static): Declare.
	* c-decl.c (struct c_inline_static, c_inline_statics,
	record_inline_static, check_inline_statics): New.
	(pop_file_scope): Call check_inline_statics.
	(start_decl): Call record_inline_static instead of pedwarning
	directly for static in inline function.
	* c-typeck.c (build_external_ref): Call record_inline_static
	instead of pedwarning directly for static referenced in inline
	function.

testsuite:
	* gcc.dg/inline-34.c: New test.

From-SVN: r146800
2009-04-26 14:40:19 +01:00
Steven Bosscher
4a81774c7b df-scan.c (df_insn_rescan): Salvage insn's LUID if the insn is not new but only being rescanned.
* df-scan.c (df_insn_rescan): Salvage insn's LUID if the insn is
	not new but only being rescanned.
	* gcse.c (uid_cuid, max_uid, INSN_CUID, max_cuid, struct reg_set,
	reg_set_table, REG_SET_TABLE_SLOP, reg_set_in_block,
	alloc_reg_set_mem, free_reg_set_mem, record_one_set,
	record_set_info, compute_set, grealloc): Remove.
	(recompute_all_luids): New function.
	(gcse_main): Don't compute sets, and don't do related memory
	allocations/free-ing.  If something changed before the end of the
	pass, update LUIDs using recompute_all_luids.
	(alloc_gcse_mem): Don't compute LUIDs.  Don't allocate reg_set memory.
	(free_gcse_mem): Don't free it either.
	(oprs_unchanged_p, load_killed_in_block, record_last_reg_set_info):
	Use the df insn LUIDs.
	(load_killed_in_block): Likewise.
	(compute_hash_table_work): Don't compute reg_set_in_block.
	(compute_transp): Use DF_REG_DEF_CHAINs.
	(local_cprop_pass): Don't use compute_sets and related functions.
	(one_cprop_pass, pre_gcse, one_pre_gcse_pass, one_code_hoisting_pass):
	Use get_max_uid() instead of max_cuid.
	(insert_insn_end_basic_block, pre_insert_copy_insn,
	update_ld_motion_stores): Don't try to
	keep reg_set tables up to date.
	(pre_insert_copies): Use df insn LUIDs.
	(sbitmap pre_redundant_insns): Replace with uses of INSN_DELETED_P.
	(reg_set_info): Don't use extra bitmap argument.
	(compute_store_table): Don't compute reg_set_in_block.  Use DF scan
	information to compute regs_set_in_block.
	(free_store_memory, store_motion): Don't nullify reg_set_in_block.
	(bypass_jumps): Don't use compute_sets and friends.

From-SVN: r146799
2009-04-26 12:28:53 +00:00
Paolo Carlini
cca36d72b9 2009-04-26 Paolo Carlini <paolo.carlini@oracle.com>
Revert the last commit.

From-SVN: r146796
2009-04-26 10:12:08 +00:00
Ralf Wildenhues
e8f99a9d26 re PR testsuite/39710 (gcc.misc-tests/help.exp doesn't work when configured with --enable-checking=assert)
gcc/
	PR testsuite/39710
	* opts.c (undocumented_msg): Do not leave blank even with
	ENABLE_CHECKING.

From-SVN: r146795
2009-04-26 08:18:48 +00:00
Ian Lance Taylor
30d17f46b5 Update copyright year. Committed without a ChangeLog entry.
From-SVN: r146794
2009-04-26 03:51:54 +00:00
Eli Zaretskii
ae2040df82 Makefile.in (needed-list): Target removed (not used in GCC 3.0 and later).
* Makefile.in (needed-list): Target removed (not used in GCC
3.0 and later).  All references deleted.
(mostlyclean): Remove references to needed.awk and needed2.awk.

From-SVN: r146793
2009-04-25 22:23:29 -04:00
GCC Administrator
be537af615 Daily bump.
From-SVN: r146792
2009-04-26 00:17:14 +00:00
Joseph Myers
6895bac810 c-decl.c (build_enumerator): Allow values folding to integer constants but not integer constant expressions...
* c-decl.c (build_enumerator): Allow values folding to integer
	constants but not integer constant expressions with a pedwarn if
	pedantic.

testsuite:
	* gcc.dg/enum-const-1.c, gcc.dg/enum-const-2.c,
	gcc.dg/enum-const-3.c: New tests.
	* gcc.dg/gnu89-const-expr-1.c, gcc.dg/gnu99-const-expr-1.c: Use
	-pedantic-errors.  Update expected diagnostics.

From-SVN: r146789
2009-04-26 00:30:10 +01:00
Joseph Myers
24070fcb42 re PR c/39582 (bad errors for some uses of [*] arrays)
PR c/39582
	* c-typeck.c (c_expr_sizeof_type): Create a C_MAYBE_CONST_EXPR
	with non-null C_MAYBE_CONST_EXPR_PRE if size of a variable-length
	type is an integer constant.

testsuite:
	* gcc.dg/vla-20.c: New test.

From-SVN: r146787
2009-04-25 22:19:09 +01:00
Jonathan Wakely
afdb7762cb mutex (__get_once_functor_lock, [...]): Replace global lock object with local locks on global mutex.
2009-04-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/mutex (__get_once_functor_lock, __get_once_mutex):
	Replace global lock object with local locks on global mutex.
	* src/mutex.cc: Likewise.
	* config/abi/pre/gnu.ver: Adjust.
	* testsuite/30_threads/call_once/call_once2.cc: New.

From-SVN: r146785
2009-04-25 21:14:27 +01:00
Uros Bizjak
d6d89aa1c4 re PR target/39897 (Revision 146761 caused libgomp.fortran/omp_atomic1.f90)
PR target/39897
	* config/i386/i386.c (print_operand) ['z']: Revert handling of
	HImode operands.

From-SVN: r146784
2009-04-25 22:11:01 +02:00
Gerald Pfeifer
7527cf2106 test_summary: Only include LAST_UPDATED if it exists.
* test_summary: Only include LAST_UPDATED if it exists.
	Complete copyright years.

From-SVN: r146783
2009-04-25 20:03:12 +00:00
Paolo Carlini
3270032c59 re PR libstdc++/39880 (Specialisation is_error_code_enum<errc> should not exist)
2009-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39880
	PR libstdc++/39881
	PR libstdc++/39882
	* include/std/system_error (is_error_code_enum<errc>): Remove.
	(error_condition<>::error_condition(_ErrorCodeEnum,)
	error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
	(error_code<>::error_code(_ErrorCodeEnum,),
	error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
	* testsuite/19_diagnostics/system_error/39880.cc: New.
	* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
	Likewise.
	* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
	* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
	* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
	Adjust.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
	Likewise.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/not_equal.cc:
	Likewise.
	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.

From-SVN: r146781
2009-04-25 19:02:17 +00:00
Paolo Carlini
bb81f9a082 re PR libstdc++/39880 (Specialisation is_error_code_enum<errc> should not exist)
2009-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39880
	PR libstdc++/39881
	PR libstdc++/39882
	* include/std/system_error (is_error_code_enum<errc>): Remove.
	(error_condition<>::error_condition(_ErrorCodeEnum,)
	error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
	(error_code<>::error_code(_ErrorCodeEnum,),
	error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
	* testsuite/19_diagnostics/system_error/39880.cc: New.
	* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
	Likewise.
	* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
	* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
	* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
	Adjust.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
	Likewise.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/not_equal.cc:
	Likewise.
	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.

From-SVN: r146780
2009-04-25 19:00:52 +00:00
Joseph Myers
813b9e7e20 Fix typo in comment in previous commit.
From-SVN: r146779
2009-04-25 19:59:20 +01:00
Joseph Myers
92f6fd0b80 re PR c/39564 (variably modified function return types not always diagnosed)
PR c/39564
	* c-decl.c (grokdeclarator): Diagnose declarations of functions
	with variably modified return type and no storage class
	specifiers, except for the case of nested functions.  Distinguish
	extern declarations of functions with variably modified return
	types from those of objects with variably modified types.

testsuite:
	* gcc.dg/vla-19.c: New test.

From-SVN: r146778
2009-04-25 19:55:50 +01:00
Joseph Myers
f88d07724f re PR preprocessor/39559 (constants too large for intmax_t need pedwarns)
libcpp:
	PR preprocessor/39559
	* expr.c (cpp_interpret_integer): Use a pedwarn for decimal
	constants larger than intmax_t in C99 mode.

gcc/testsuite:
	* gcc.dg/c99-intconst-2.c: New test.

From-SVN: r146777
2009-04-25 19:46:03 +01:00
Jan Hubicka
a3710436b6 tree.c (list_equal_p): New function.
* tree.c (list_equal_p): New function.
	* tree.h (list_equal_p): Declare.
	* coretypes.h (edge_def, edge, const_edge, basic_block_def
	basic_block_def, basic_block, const_basic_block): New.
	* tree-eh.c (make_eh_edge): EH edges are not abnormal.
	(redirect_eh_edge): New function.
	(make_eh_edge_update_phi): EH edges are not abnormal.
	* except.c: Include tree-flow.h.
	(list_match): New function.
	(eh_region_replaceable_by_p): New function.
	(replace_region): New function.
	(hash_type_list): New function.
	(hash_eh_region): New function.
	(eh_regions_equal_p): New function.
	(merge_peers): New function.
	(remove_unreachable_regions): Verify EH tree when checking;
	merge peers.
	(copy_eh_region_1): New function.
	(copy_eh_region): New function.
	(push_reachable_handler): New function.
	(build_post_landing_pads, dw2_build_landing_pads): Be ready for
	regions without label but with live RESX.
	* except.h (redirect_eh_edge_to_label): New.
	* tree-flow.h (redirect_eh_edge): New.
	* coretypes.h (edge_def, edge, const_edge, basic_block_def
	basic_block_def, basic_block, const_basic_block): Remove.
	* Makefile.in (except.o): Add dependency on tree-flow.h
	* tree-cfg.c (gimple_redirect_edge_and_branch): Handle EH edges.
	* basic-block.h (edge, const_edge, basic_block, const_basic_block):
	Remove.

From-SVN: r146776
2009-04-25 18:27:19 +00:00
Eric Botcazou
3764d512d5 re PR bootstrap/39645 (uninitialized variable in genattrtab.c)
PR bootstrap/39645
	* config/sparc/sparc.c (sparc_gimplify_va_arg): Set TREE_ADDRESSABLE
	on the destination of memcpy.

From-SVN: r146772
2009-04-25 13:32:43 +00:00
Eric Botcazou
a687f83c5a Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Add GNATBIND.
* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Add GNATBIND.
	(POSTSTAGE1_FLAGS_TO_PASS): Pick up exported value for GNATBIND.
	* Makefile.in: Regenerate.

From-SVN: r146769
2009-04-25 12:24:08 +00:00
Eric Botcazou
1944058826 decl.c (gnat_to_gnu_entity): Put back kludge.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
	back kludge.

From-SVN: r146766
2009-04-25 10:38:24 +00:00
Paolo Bonzini
1c62e8f226 tm.texi (REGNO_OK_FOR_BASE_P, [...]): Mention strict/nonstrict difference.
2009-04-25  Paolo Bonzini  <bonzini@gnu.org>

	* doc/tm.texi (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
	REGNO_MODE_OK_FOR_REG_BASE_P, REGNO_MODE_CODE_OK_FOR_BASE_P,
	REGNO_OK_FOR_INDEX_P): Mention strict/nonstrict difference.

From-SVN: r146765
2009-04-25 10:20:58 +00:00
Jan Hubicka
496a4ef59d tree-eh.c (tree_remove_unreachable_handlers): Handle shared labels.
* tree-eh.c (tree_remove_unreachable_handlers): Handle shared labels.
	(tree_empty_eh_handler_p): Allow non-EH predecestors; allow region
	to be reached by different label than left.
	(update_eh_edges): Update comment; remove edge_to_remove if possible
	and return true if suceeded.
	(cleanup_empty_eh): Accept sharing map; handle shared regions.
	(cleanup_eh): Compute sharing map.
	* except.c (remove_eh_handler_and_replace): Add argument if we should
	update regions.
	(remove_unreachable_regions): Update for label sharing.
	(label_to_region_map): Likewise.
	(get_next_region_sharing_label): New function.
	(remove_eh_handler_and_replace): Add update_catch_try parameter; update
	prev_try pointers.
	(remove_eh_handler): Update.
	(remove_eh_region_and_replace_by_outer_of): New function.
	* except.h (struct eh_region): Add next_region_sharing_label.
	(remove_eh_region_and_replace_by_outer_of,
	get_next_region_sharing_label): Declare.
	* tree-cfgcleanup.c (tree_forwarder_block_p): Simplify.

	* tree-cfg.c (split_critical_edges): Split also edges where we can't
	insert code even if they are not critical.

	* tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable.
	(gimple_can_remove_branch_p): EH edges won't remove branch by
	redirection.
	* tree-inline.c (update_ssa_across_abnormal_edges): Do handle
	updating of non-abnormal EH edges.
	* tree-cfg.c (gimple_can_merge_blocks_p): EH edges are unmergable.
	(gimple_can_remove_branch_p): EH edges are unremovable by redirection.
	(split_critical_edges): Split also edges where emitting code on them
	will lead to splitting later.

From-SVN: r146763
2009-04-25 09:02:05 +00:00
Janus Weil
bc2a4733e2 re PR fortran/39688 (IMPORT of derived type fails)
2009-04-25  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39688
	* decl.c (gfc_match_import): Use 'sym->name' instead of 'name'.
	They differ if the symbol has been use-renamed.


2009-04-25  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39688
	* gfortran.dg/import7.f90: New.

From-SVN: r146762
2009-04-25 10:11:48 +02:00
Uros Bizjak
a3a5e3d16c re PR inline-asm/39590 (inline asm %z on amd64 says "ll" instead of "q")
PR target/39590
	* configure.ac (HAVE_AS_IX86_FILDQ): On x86 targets check whether
	the configured assembler supports fildq and fistpq mnemonics.
	(HAVE_AS_IX86_FILDS): Rename from HAVE_GAS_FILDS_FISTS.
	* configure: Regenerated.
	* config.in: Ditto.

	* config/i386/i386.c (print_operand): Handle 'Z'.
	['z']: Remove handling of special fild/fist suffixes.
	(output_fix_trunc): Use '%Z' to output suffix of fist{,p,tp} insn.
	* config/i386/i386.md (*floathi<mode>2_i387): Use '%Z' to output
	suffix of fild insn.
	(*floatsi<mode>2_vector_mixed): Ditto.
	(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Ditto.
	(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Ditto.
	(*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp): Ditto.
	(*float<SSEMODEI24:mode><X87MODEF:mode>2_i387): Ditto.
	* config/i386/gas.h (GAS_MNEMONICS): Remove.

From-SVN: r146761
2009-04-25 10:10:51 +02:00
Matthias Klose
fd24db293b configure.ac: Create missing directory gnu/java/security/jce/prng.
2009-04-24  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Create missing directory gnu/java/security/jce/prng.
        * configure: Regenerate.

From-SVN: r146759
2009-04-25 08:04:38 +00:00
Ben Elliston
23750d7fe4 genrecog.c (validate_pattern): Do not warn for VOIDmode CALLs as the source of a set operation.
* genrecog.c (validate_pattern): Do not warn for VOIDmode CALLs as
	the source of a set operation.

From-SVN: r146757
2009-04-25 14:51:34 +10:00
Anatoly Sokolov
e6ff3083a0 target.h (struct gcc_target): Add case_values_threshold field.
* target.h (struct gcc_target): Add case_values_threshold field.
	* target-def.h (TARGET_CASE_VALUES_THRESHOLD): New.
	(TARGET_INITIALIZER): Use TARGET_CASE_VALUES_THRESHOLD.
	* targhooks.c (default_case_values_threshold): New function.
	* targhooks.h (default_case_values_threshold): Declare function.
	* stmt.c (expand_case): Use case_values_threshold target hook.
	* expr.h (case_values_threshold): Remove declartation.
	* expr.c (case_values_threshold): Remove function.
	* doc/tm.texi (CASE_VALUES_THRESHOLD): Revise documentation.

	* config/avr/avr.h (CASE_VALUES_THRESHOLD): Remove macro.
	* config/avr/avr.c (TARGET_CASE_VALUES_THRESHOLD): Define macro.
	(avr_case_values_threshold): Declare as static.
	* config/avr/avr-protos.h (avr_case_values_threshold): Remove.

	* config/avr/mn10300.h (CASE_VALUES_THRESHOLD): Remove macro.
	* config/avr/mn10300.c (TARGET_CASE_VALUES_THRESHOLD): Define macro.
	(mn10300_case_values_threshold): New function.

From-SVN: r146756
2009-04-25 08:34:27 +04:00
Kaveh R. Ghazi
9e3eba1599 re PR bootstrap/39739 (Bootstrapping with in-tree mpfr-2.4.1 and --with-gmp=... errors)
PR bootstrap/39739
	* configure.ac (extra_mpfr_configure_flags): Set and AC_SUBST.
	* Makefile.def (module=mpfr): Use extra_mpfr_configure_flags.

	* configure, Makefile.in: Regenerate.

From-SVN: r146754
2009-04-25 03:24:17 +00:00
H.J. Lu
569c72fc74 ira.c (setup_cover_and_important_classes): Add enum cast.
2009-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* ira.c (setup_cover_and_important_classes): Add enum cast.

From-SVN: r146753
2009-04-24 17:55:51 -07:00
GCC Administrator
b631c40ac8 Daily bump.
From-SVN: r146752
2009-04-25 00:16:53 +00:00
Vladimir Makarov
ff3cb4680e genpreds.c (write_enum_constraint_num): Output definition of CONSTRAINT_NUM_DEFINED_P macro.
2009-04-24  Vladimir Makarov  <vmakarov@redhat.com>

	* genpreds.c (write_enum_constraint_num): Output definition of
	CONSTRAINT_NUM_DEFINED_P macro.
	* ira.c (setup_cover_and_important_classes): Use
	CONSTRAINT_NUM_DEFINED_P instead of CONSTRAINT__LIMIT in #ifdef.

From-SVN: r146748
2009-04-24 23:35:16 +00:00
DJ Delorie
4f7be84923 sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Test __SH2A_SINGLE_ONLY__ also.
* config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Test
__SH2A_SINGLE_ONLY__ also.

From-SVN: r146747
2009-04-24 19:06:14 -04:00
Benjamin Kosnik
92851a93f1 authors.xml: Add space.
2009-04-24  Benjamin Kosnik  <bkoz@redhat.com>

	* xml/authors.xml: Add space.
	* xml/faq.xml: Update links.
	* xml/manual/intro.xml: Same.
	* xml/manual/abi.xml: Update.
	* xml/manual/appendix_contributing.xml: Fix typo.
	* xml/manual/status_cxxtr1.xml: Update links.
	* xml/manual/status_cxx1998.xml: Same.
	* xml/manual/status_cxx200x.xml: Same.

From-SVN: r146746
2009-04-24 20:39:16 +00:00
Richard Guenther
09ed9becfd vrp48.c: Fix.
2009-04-24  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/tree-ssa/vrp48.c: Fix.

From-SVN: r146745
2009-04-24 20:29:06 +00:00
Doug Kwan
dc7497599a copy7.C: Only abort in memcpy if source and destination are the same.
2008-04-24  Doug Kwan  <dougkwan@google.com>

        * g++.dg/init/copy7.C: Only abort in memcpy if source and
        destination are the same.

From-SVN: r146744
2009-04-24 20:25:02 +00:00
Steve Ellcey
735b94a740 ia64.md (movfs_internal): Allow flt constants.
* config/ia64/ia64.md (movfs_internal): Allow flt constants.
	(movdf_internal): Ditto.
	* config/ia64/ia64.c (ia64_legitimate_constant_p): Allow
	SFmode and DFmode constants.
	(ia64_print_operand): Add 'G' format for printing
	floating point constants.

From-SVN: r146743
2009-04-24 19:35:52 +00:00
Richard Guenther
77a302647e tree-vrp.c (extract_range_from_binary_expr): Handle overflow from unsigned additions.
2009-04-24  Richard Guenther  <rguenther@suse.de>

	* tree-vrp.c (extract_range_from_binary_expr): Handle overflow
	from unsigned additions.

	* gcc.dg/tree-ssa/vrp48.c: New testcase.

From-SVN: r146742
2009-04-24 19:10:55 +00:00
Joseph Myers
2b6da65c33 c-typeck.c (set_init_index): Allow array designators that are not integer constant expressions with a...
* c-typeck.c (set_init_index): Allow array designators that are
	not integer constant expressions with a pedwarn if pedantic.

testsuite:
	* gcc.dg/array-const-1.c, gcc.dg/array-const-2.c,
	gcc.dg/array-const-3.c: New tests.

From-SVN: r146741
2009-04-24 18:24:32 +01:00
H.J. Lu
bda61b12c2 Correct filenames.
From-SVN: r146740
2009-04-24 09:47:20 -07:00
Taras Glek
6a87e1d41d Add missing ChangeLog entries for revision 146607.
From-SVN: r146739
2009-04-24 09:46:13 -07:00
Bernd Schmidt
f5a17c436d simplify-rtx.c (simplify_binary_operation_1, case AND): Result is zero if no overlap in nonzero bits between the operands.
* simplify-rtx.c (simplify_binary_operation_1, case AND): Result is
	zero if no overlap in nonzero bits between the operands.

From-SVN: r146738
2009-04-24 16:19:36 +00:00
Eric Botcazou
c91f9cd48c Fix typo
From-SVN: r146737
2009-04-24 16:12:48 +00:00
Ian Lance Taylor
32e8bb8ebf combine.c (record_value_for_reg): Change 0 to VOIDmode, twice.
gcc/:
	* combine.c (record_value_for_reg): Change 0 to VOIDmode, twice.
	(record_dead_and_set_regs): Likewise.
	* df.h (struct df_mw_hardreg): Change flags field to int.
	(struct df_base_ref): Likewise.
	(struct df): Change changeable_flags field to int.
	* df-scan.c (df_defs_record): Change clobber_flags to int.
	* dwarf2.h (enum dwarf_tag): Make lo_user and hi_user values enum
	constants rather than #define macros.
	(enum dwarf_attribute, enum dwarf_location_atom): Likewise.
	(enum dwarf_type, enum dwarf_endianity_encoding): Likewise.
	(enum dwarf_calling_convention): Likewise.
	(enum dwarf_line_number_x_ops): Likewise.
	(enum dwarf_call_frame_info): Likewise.
	(enum dwarf_source_language): Likewise.
	* dwarf2out.c (int_loc_descriptor): Add cast to enum type.
	(add_calling_convention_attribute): Likewise.
	* fold-const.c (fold_undefer_overflow_warnings): Add cast to enum
	type.
	(combine_comparisons): Change compcode to int.  Add cast to enum
	type.
	* genrecog.c (maybe_both_true_2): Change c to int.
	(write_switch): Likewise.  Add cast to enum type.
	* gimplify.c (gimplify_omp_for): Handle return values from
	gimplify_expr using MIN rather than bitwise or.
	(gimplify_expr): Add cast to enum type.
	* ipa-prop.c (update_jump_functions_after_inlining): Change
	IPA_BOTTOM to IPA_JF_UNKNOWN.
	* ira.c (setup_class_subset_and_memory_move_costs): Change mode to
	int.  Add casts to enum type.
	(setup_cover_and_important_classes): Change cl to int.  Add casts
	to enum type.
	(setup_class_translate): Change cl and mode to int.
	(ira_init_once): Change mode to int.
	(free_register_move_costs): Likewise.
	(setup_prohibited_mode_move_regs): Add casts to enum type.
	* langhooks.c (add_builtin_function_common): Rework assertion that
	value fits bitfield.
	* mcf.c (add_fixup_edge): Change type parameter to edge_type.
	* omega.c (omega_do_elimination): Avoid math on enum types.
	* optabs.c (expand_vec_shift_expr): Remove casts to int.
	* opts.c (set_debug_level): Change 2 to enum constant.  Use new
	int local to handle integral_argment value.
	* regmove.c (try_auto_increment): Change PUT_MODE to
	PUT_REG_NOTE_KIND.
	* reload.c (push_secondary_reload): Add casts to enum type.
	(secondary_reload_class, find_valid_class): Likewise.
	* reload1.c (emit_input_reload_insns): Likewise.
	* rtl.h (NOTE_VAR_LOCATION_STATUS): Likewise.
	* sel-sched.c (init_hard_regs_data): Change cur_mode to int.
	* sel-sched-ir.c (hash_with_unspec_callback): Change 0 to enum
	constant.
	* tree.c (build_common_builtin_nodes): Add casts to enum type.
	* tree-complex.c (complex_lattice_t): Typedef to int rather than
	enum type.
	(expand_complex_libcall): Add casts to enum type.
	* tree-into-ssa.c (get_ssa_name_ann): Change 0 to enum constant.
	* tree-vect-loop.c (vect_model_reduction_cost): Compare reduc_code
	with ERROR_MARK, not NUM_TREE_CODES.
	(vect_create_epilog_for_reduction): Likewise.
	(vectorizable_reduction): Don't initialize epiloc_reduc_code.
	When not using it, set it to ERROR_MARK rather than
	NUM_TREE_CODES.
	* tree-vect-patterns.c (vect_pattern_recog_1): Change vec_mode to
	enum machine_mode.
	* tree-vect-stmts.c (new_stmt_vec_info): Change 0 to
	vect_unused_in_loop.  Change 0 to loop_vect.
	* tree-vectorizer.c (vect_set_verbosity_level): Add casts to enum
	type.
	* var-tracking.c (get_init_value): Change return type to enum
	var_init_status.
	* vec.h (DEF_VEC_FUNC_P) [iterate]: Cast 0 to type T.
	* config/arm/arm.c (fp_model_for_fpu): Change to array to enum
	arm_fp_model.
	(arm_override_options): Add casts to enum type.
	(arm_emit_tls_decoration): Likewise.
	* config/i386/i386.c (ix86_function_specific_restore): Add casts
	to enum type.
	* config/i386/i386-c.c (ix86_pragma_target_parse): Likewise.
	* config/ia64/ia64.c (ia64_expand_compare): Change magic to int.
	* config/rs6000/rs6000.c (rs6000_override_options): Add casts to
	enum type.
	* config/s390/s390.c (code_for_builtin_64): Change to array of
	enum insn_code.
	(code_for_builtin_31): Likewise.
	(s390_expand_builtin): Change code_for_builtin to enum insn_code
	const *.
	* config/sparc/sparc.c (sparc_override_options): Change value
	field in struct code_model to enum cmodel.  In initializer change
	0 to NULL and add cast to enum type.

	* c-typeck.c (build_modify_expr): Add lhs_origtype parameter.
	Change all callers.  Issue a -Wc++-compat warning using
	lhs_origtype if necessary.
	(convert_for_assignment): Issue -Wc++-compat warnings about
	invalid conversions to enum type on assignment.
	* c-common.h (build_modify_expr): Update declaration.

gcc/cp/:
	* call.c (build_temp): Change 0 to enum constant.
	* cp-tree.h (cp_lvalue_kind): Typedef to int rather than enum
	type.
	* cp-gimplify.c (cp_gimplify_expr): Add cast to enum type.
	* decl2.c (constrain_visibility): Likewise.
	* parser.c (cp_lexer_get_preprocessor_token): Likewise.
	(cp_parser_flags): Typedef to int rather than enum type.
	(cp_parser_expression_stack_entry): Change prec field to enum
	cp_parser_prec.

	* typeck.c (build_modify_expr): Add lhs_origtype parameter.
	Change all callers.

gcc/fortran/:
	* gfortran.h (enum gfc_symbol_type): New named enum type, broken
	out of struct gfc_symbol.
	(struct gfc_symbol): Use enum gfc_symbol_type.
	(enum gfc_array_ref_dimen_type): New named enum type, broken out
	of struct gfc_array_ref).
	(struct gfc_array_ref): Use enum gfc_array_ref_dimen_type.
	(mod_pointee_as): Update declaration.
	* decl.c (add_global_entry): Change type to enum gfc_symbol_type.
	(gfc_mod_pointee_as): Change return type to "match".
	* module.c (mio_array_ref): Add cast to enum type.
	(mio_symbol): Likewise.
	* resolve.c (resolve_global_procedure): Change type to enum
	gfc_symbol_type.
	* trans-io.c (gfc_build_st_parameter): Change type to unsigned
	int.

gcc/java/:
	* jcf-parse.c (handle_constant): Add cast to enum type.

gcc/objc/:
	* objc-act.c (get_super_receiver): Update calls to
	build_modify_expr to pass new argument.

gcc/testsuite/:
	* gcc.dg/Wcxx-compat-4.c: New testcase.

From-SVN: r146735
2009-04-24 15:31:38 +00:00
Nick Clifton
ac4fc08a0a iq2000.c (function_arg): Handle TImode values.
* config/iq2000/iq2000.c (function_arg): Handle TImode values.
        (function_arg_advance): Likewise.
        * config/iq2000/iq2000.md (movsi_internal2): Fix the length of the
        5th alternative.

From-SVN: r146734
2009-04-24 15:25:40 +00:00
Daniel Kraft
e34ccb4cd1 gfortran.h (gfc_get_typebound_proc): Removed as macro, now a function.
2009-04-24  Daniel Kraft  <d@domob.eu>

	* gfortran.h (gfc_get_typebound_proc): Removed as macro, now a function.
	(struct gfc_symtree): Moved `typebound' member inside union.
	(struct gfc_namespace): Add `tb_sym_root' as new symtree to sort out
	type-bound procedures there.
	(gfc_get_tbp_symtree): New procedure.
	* symbol.c (tentative_tbp_list): New global.
	(gfc_get_namespace): NULL new `tb_sym_root' member.
	(gfc_new_symtree): Removed initialization of `typebound' member.
	(gfc_undo_symbols): Process list of tentative tbp's.
	(gfc_commit_symbols): Ditto.
	(free_tb_tree): New method.
	(gfc_free_namespace): Call it.
	(gfc_get_typebound_proc): New method.
	(gfc_get_tbp_symtree): New method.
	(gfc_find_typebound_proc): Adapt to structural changes of gfc_symtree
	and gfc_namespace with regards to tbp's.
	* dump-parse-tree.c (show_typebound): Ditto.
	* primary.c (gfc_match_varspec): Ditto.  Don't reference tbp-symbol
	as it isn't a symbol any longer.
	* module.c (mio_typebound_symtree): Adapt to changes.
	(mio_typebound_proc): Ditto, create symtrees using `gfc_get_tbp_symtree'
	rather than `gfc_get_sym_tree'.
	(mio_f2k_derived): Ditto.
	* decl.c (match_procedure_in_type): Ditto.
	(gfc_match_generic): Ditto.  Don't reference tbp-symbol.
	* resolve.c (check_typebound_override): Adapt to changes.
	(resolve_typebound_generic): Ditto.
	(resolve_typebound_procedures): Ditto.
	(ensure_not_abstract_walker): Ditto.
	(ensure_not_abstract): Ditto.
	(resolve_typebound_procedure): Ditto, ignore erraneous symbols (for
	instance, through removed tentative ones).
	* gfc-internals.texi (Type-bound procedures): Document changes.

2009-04-24  Daniel Kraft  <d@domob.eu>

	* gfortran.dg/typebound_generic_1.f03: Change so that no error is
	expected on already erraneous symbol (renamed to fresh one).

From-SVN: r146733
2009-04-24 17:20:23 +02:00
Robert Dewar
b178461a93 mlib-prj.adb, [...]: Minor reformatting.
2009-04-24  Robert Dewar  <dewar@adacore.com>

	* mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
	clean.adb: Minor reformatting.
	Minor code reorganization and message improvement.

From-SVN: r146732
2009-04-24 16:56:55 +02:00