1. 26 Apr, 2009 14 commits
  2. 25 Apr, 2009 24 commits
    • c-decl.c (build_enumerator): Allow values folding to integer constants but not… · 6895bac8
      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
      Joseph Myers committed
    • re PR c/39582 (bad errors for some uses of [*] arrays) · 24070fcb
      	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
      Joseph Myers committed
    • mutex (__get_once_functor_lock, [...]): Replace global lock object with local… · afdb7762
      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
      Jonathan Wakely committed
    • re PR target/39897 (Revision 146761 caused libgomp.fortran/omp_atomic1.f90) · d6d89aa1
      	PR target/39897
      	* config/i386/i386.c (print_operand) ['z']: Revert handling of
      	HImode operands.
      
      From-SVN: r146784
      Uros Bizjak committed
    • test_summary: Only include LAST_UPDATED if it exists. · 7527cf21
      	* test_summary: Only include LAST_UPDATED if it exists.
      	Complete copyright years.
      
      From-SVN: r146783
      Gerald Pfeifer committed
    • re PR libstdc++/39880 (Specialisation is_error_code_enum<errc> should not exist) · 3270032c
      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
      Paolo Carlini committed
    • re PR libstdc++/39880 (Specialisation is_error_code_enum<errc> should not exist) · bb81f9a0
      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
      Paolo Carlini committed
    • Fix typo in comment in previous commit. · 813b9e7e
      From-SVN: r146779
      Joseph Myers committed
    • re PR c/39564 (variably modified function return types not always diagnosed) · 92f6fd0b
      	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
      Joseph Myers committed
    • re PR preprocessor/39559 (constants too large for intmax_t need pedwarns) · f88d0772
      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
      Joseph Myers committed
    • tree.c (list_equal_p): New function. · a3710436
      	* 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
      Jan Hubicka committed
    • re PR bootstrap/39645 (uninitialized variable in genattrtab.c) · 3764d512
      	PR bootstrap/39645
      	* config/sparc/sparc.c (sparc_gimplify_va_arg): Set TREE_ADDRESSABLE
      	on the destination of memcpy.
      
      From-SVN: r146772
      Eric Botcazou committed
    • Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Add GNATBIND. · a687f83c
      	* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Add GNATBIND.
      	(POSTSTAGE1_FLAGS_TO_PASS): Pick up exported value for GNATBIND.
      	* Makefile.in: Regenerate.
      
      From-SVN: r146769
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Put back kludge. · 19440588
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
      	back kludge.
      
      From-SVN: r146766
      Eric Botcazou committed
    • tm.texi (REGNO_OK_FOR_BASE_P, [...]): Mention strict/nonstrict difference. · 1c62e8f2
      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
      Paolo Bonzini committed
    • tree-eh.c (tree_remove_unreachable_handlers): Handle shared labels. · 496a4ef5
      	* 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
      Jan Hubicka committed
    • re PR fortran/39688 (IMPORT of derived type fails) · bc2a4733
      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
      Janus Weil committed
    • re PR inline-asm/39590 (inline asm %z on amd64 says "ll" instead of "q") · a3a5e3d1
      	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
      Uros Bizjak committed
    • configure.ac: Create missing directory gnu/java/security/jce/prng. · fd24db29
      2009-04-24  Matthias Klose  <doko@ubuntu.com>
      
              * configure.ac: Create missing directory gnu/java/security/jce/prng.
              * configure: Regenerate.
      
      From-SVN: r146759
      Matthias Klose committed
    • genrecog.c (validate_pattern): Do not warn for VOIDmode CALLs as the source of a set operation. · 23750d7f
      	* genrecog.c (validate_pattern): Do not warn for VOIDmode CALLs as
      	the source of a set operation.
      
      From-SVN: r146757
      Ben Elliston committed
    • target.h (struct gcc_target): Add case_values_threshold field. · e6ff3083
      	* 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
      Anatoly Sokolov committed
    • re PR bootstrap/39739 (Bootstrapping with in-tree mpfr-2.4.1 and --with-gmp=... errors) · 9e3eba15
      	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
      Kaveh R. Ghazi committed
    • ira.c (setup_cover_and_important_classes): Add enum cast. · 569c72fc
      2009-04-24  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* ira.c (setup_cover_and_important_classes): Add enum cast.
      
      From-SVN: r146753
      H.J. Lu committed
    • Daily bump. · b631c40a
      From-SVN: r146752
      GCC Administrator committed
  3. 24 Apr, 2009 2 commits