Commit Graph

101169 Commits

Author SHA1 Message Date
Eric Botcazou
41a961e991 Fix typo
From-SVN: r161465
2010-06-27 10:59:55 +00:00
Paolo Carlini
d860c8424c regex_compiler.h: Trivial formatting / stylistic fixes.
2010-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/regex_compiler.h: Trivial formatting / stylistic fixes.
	* include/bits/regex_grep_matcher.tcc: Likewise.
	* include/bits/regex_cursor.h: Likewise.
	* include/bits/regex.h: Likewise.

From-SVN: r161462
2010-06-27 09:29:25 +00:00
Eric Botcazou
83e279c4c3 trans.c: Include tree-flow.h.
* gcc-interface/trans.c: Include tree-flow.h.
	(gnu_switch_label_stack): Delete.
	(Case_Statement_to_gnu): Do not emit the goto at the end of a case if
	its associated block cannot fall through.  Do not emit the final label
	if no cases branche to it.
	* gcc-interface/Make-lang.in (ada/trans.o): Add $(TREE_FLOW_H).

From-SVN: r161461
2010-06-27 08:47:23 +00:00
Daniel Kraft
7ed979b918 dump-parse-tree.c (show_symbol): Dump target-expression for associate names.
2010-06-27  Daniel Kraft  <d@domob.eu>

	* dump-parse-tree.c (show_symbol): Dump target-expression for
	associate names.
	(show_code_node): Make distinction between BLOCK and ASSOCIATE.
	(show_namespace): Use show_level for correct indentation of
	"inner namespaces" (contained procedures or BLOCK).

From-SVN: r161460
2010-06-27 10:40:40 +02:00
Richard Guenther
11af16ef2c re PR middle-end/44684 (FAIL: g++.dg/opt/pmf1.C)
2010-06-27  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44684
	* tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs.
	(stmt_may_clobber_ref_p_1): Do not bother to call the oracle
	for register LHS.  Or non-store assignments.

From-SVN: r161456
2010-06-27 08:10:45 +00:00
GCC Administrator
641cd7ed2a Daily bump.
From-SVN: r161451
2010-06-27 00:16:50 +00:00
Thomas Koenig
c6c15a14f3 re PR fortran/44678 (ICE with -fdump-parse-tree and select type)
2010-06-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/44678
	* dump-parse-tree.c (show_code_node):  Show namespace for
	EXEC_BLOCK.

From-SVN: r161444
2010-06-26 22:54:39 +00:00
Jason Merrill
cef62ad4b8 call.c (add_function_candidate): Set LOOKUP_COPY_PARM for any constructor called with a single argument that...
* call.c (add_function_candidate): Set LOOKUP_COPY_PARM for any
	constructor called with a single argument that takes a reference
	to the constructor's class.
	(BAD_CONVERSION_RANK): New.
	(compare_ics): Use it to compare bad ICSes.

From-SVN: r161443
2010-06-26 17:34:36 -04:00
Eric Botcazou
d9816849ed sparc.c (sparc_emit_set_const32): Make static.
* config/sparc/sparc.c (sparc_emit_set_const32): Make static.
	(sparc_emit_set_const64): Likewise.  Remove disabled code.
	* config/sparc/sparc-protos.h (sparc_emit_set_const32): Delete.
	(sparc_emit_set_const64): Likewise.

From-SVN: r161442
2010-06-26 21:08:46 +00:00
Paolo Carlini
820d2ff720 [multiple changes]
2010-06-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_hooks.h: Cast fn to bool.

2010-06-26  Kees Cook  <kees.cook@canonical.com>

	* testsuite/27_io/ios_base/sync_with_stdio/1.cc: Verify freopen.
	* testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-2.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-4.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/11.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/10.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-5.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/char/12048-2.cc: Likewise.
	* testsuite/27_io/objects/char/12048-4.cc: Likewise.
	* testsuite/27_io/objects/char/9.cc: Likewise.
	* testsuite/27_io/objects/char/12048-1.cc: Likewise.
	* testsuite/27_io/objects/char/12048-3.cc: Likewise.
	* testsuite/27_io/objects/char/12048-5.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
	* testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Verify fgets.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Verify
	fwrite.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.

From-SVN: r161441
2010-06-26 20:11:20 +00:00
Catherine Moore
2639084e1e mips.md (alu_type): New attribute.
2010-06-26  Catherine Moore  <clm@codesourcery.com>

        * config/mips/mips.md (alu_type): New attribute.
        (type): Infer type from alu_type.
        (*add<mode>3, *add<mode>3_mips16, *addsi3_extended,
        *baddu_si_eb, *baddu_si_el, *baddu_di, sub<mode>3,
        *subsi3_extended, negsi2, negdi2, *low<mode>,
        *low<mode>_mips16, *ior<mode>3, *ior<mode>3_mips16,
        xor<mode>3, *nor<mode>3,
        *zero_extend<GPR:mode>_trunc<SHORT:mode>,
        *zero_extendhi_truncqi):  Set alu_type instead of type.

From-SVN: r161440
2010-06-26 15:27:04 -04:00
Douglas Rupp
6a02864adc Fix typo in last ChangeLog entry.
From-SVN: r161438
2010-06-26 17:44:58 +00:00
Douglas B Rupp
df4537318e Fix the Alpha/VMS build. Installed as obvious.
* config/alpha/alpha.c (alpha_need_linkage): Adjust
	splay_tree_new_gcc_call.
	(alpha_use_linkage): Likewise.

From-SVN: r161437
2010-06-26 17:42:58 +00:00
Joseph Myers
d5d8b1117e collect2.c (main): Remove SWITCHES_NEED_SPACES conditional.
* collect2.c (main): Remove SWITCHES_NEED_SPACES conditional.
	* doc/tm.texi (SWITCHES_NEED_SPACES): Don't document.
	* gcc.c (SWITCHES_NEED_SPACES, switches_need_spaces): Remove.
	(static_specs): Remove switches_need_spaces.
	(process_command, do_self_spec): Hardcode handling "-o" instead of
	checking switches_need_spaces.
	* system.h (SWITCHES_NEED_SPACES): Poison.

From-SVN: r161436
2010-06-26 18:04:16 +01:00
Richard Guenther
2706a6158b re PR tree-optimization/44393 (ICE: verify_ssa failed: no immediate_use list with -Os -ftree-loop-distribution)
2010-06-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44393
	* tree-loop-distribution.c (generate_loops_for_partition): Fix
	stmt removal and VOP renaming.
	(generate_memset_zero): Remove redundant stmt updating.
	* tree-flow.h (mark_virtual_ops_in_bb): Remove.
	* tree-cfg.c (mark_virtual_ops_in_bb): Likewise.

	* gcc.dg/pr44393.c: New testcase.

From-SVN: r161434
2010-06-26 15:55:05 +00:00
Jan Hubicka
8b3057b30d ipa-split-2.c: New testcase.
* gcc.dg/tree-ssa/ipa-split-2.c: New testcase.
	* ipa-split.c (consider_split): PHI in entry block is OK as long as all
	edges comming from header are equivalent.
	(visit_bb): Handle PHIs correctly.
	* tree-inline.c (copy_phis_for_bb): Be able to copy
	PHI from entry edge.
	(copy_cfg_body): Produce edge from entry BB before copying
	PHIs.

From-SVN: r161433
2010-06-26 14:45:40 +00:00
Richard Biener
6bfd430254 re PR tree-optimization/44674 (ICE: in refs_may_alias_p_1, at tree-ssa-alias.c:953 with -fprofile-generate)
2010-06-26  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44674
	* tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of
	decls.  Handle LABEL_DECLs like FUNCTION_DECLs.

	* gcc.dg/pr44674.c: New testcase.

From-SVN: r161431
2010-06-26 13:24:57 +00:00
Joseph Myers
922e18828a gcc.c (n_switches_alloc, [...]): New.
* gcc.c (n_switches_alloc, n_infiles_alloc, alloc_infile,
	add_infile, alloc_switch): New.
	(process_command): Remove variable lang_n_infiles.  Process
	options in a single pass.  Use new functions for allocating
	infiles and switches arrays.  Properly skip operands of
	-Xpreprocessor and -Xassembler.

testsuite:
	* gcc.dg/opts-3.c: New test.

From-SVN: r161430
2010-06-26 14:11:04 +01:00
Tobias Burnus
0fb5681456 decl.c (gfc_match_decl_type_spec): Support TYPE(intrinsic-type-spec).
2010-06-26  Tobias Burnus  <burnus@net-b.de>

        * decl.c (gfc_match_decl_type_spec): Support
        TYPE(intrinsic-type-spec).

2010-06-26  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/type_decl_1.f90: New.
        * gfortran.dg/type_decl_2.f90: New.

From-SVN: r161429
2010-06-26 15:03:49 +02:00
Jan Hubicka
8cf9fecaa0 re PR middle-end/44671 (Partial inlining breaks C++)
PR middle-end/44671
	* cgraphunit.c (cgraph_function_versioning): Remove wrong cgraph_make_decl_local
	call; fix typo copying RTL data.

From-SVN: r161428
2010-06-26 11:38:57 +00:00
Tobias Burnus
e4814b3971 semicolon_fixed.f: Fix dg syntax..
2010-06-26  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/semicolon_fixed.f: Fix dg syntax..
        * gfortran.dg/semicolon_fixed_2.f: Ditto.

From-SVN: r161426
2010-06-26 08:19:57 +02:00
DJ Delorie
f6052f8680 m32c-protos.h (m32c_note_pragma_address): Declare.
* config/m32c/m32c-protos.h (m32c_note_pragma_address): Declare.
(m32c_output_aligned_common): Likewise.
* config/m32c/m32c.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
* config/m32c/m32c-pragma.c (m32c_pragma_address): New.
(m32c_register_pragmas): Register it.
* config/m32c/m32c.c (m32c_get_pragma_address): New.
(m32c_insert_attributes): Set #pragma address decls volatile.
(pragma_entry_eq): New.
(pragma_entry_hash): New.
(m32c_note_pragma_address): New.
(m32c_get_pragma_address): New.
(m32c_output_aligned_common): New.
* doc/extend.texi: Document the new pragma.

* config/m32c/m32c.c (m32c_illegal_subreg_p): Reject illegal MEMs
also.
* config/m32c/predicates.md (m32c_any_operand): Check the code
instead of memory_operand so as to allow matching volatile MEMs.
(m32c_nonimmediate_operand): Likewise.
(mra_operand): Allow volatiles.

From-SVN: r161425
2010-06-25 23:30:19 -04:00
GCC Administrator
19bbf2c4b8 Daily bump.
From-SVN: r161424
2010-06-26 00:17:02 +00:00
Jonathan Wakely
e7e1f45779 faq.xml: Fix typo.
2010-06-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/faq.xml: Fix typo.
	* doc/html/faq.xml: Likewise.

From-SVN: r161420
2010-06-26 00:18:08 +01:00
Paolo Carlini
6769da2ed7 2010-06-25 Paolo Carlini <paolo.carlini@oracle.com>
Reformat last ChangeLog entry.

From-SVN: r161419
2010-06-25 23:04:11 +00:00
Jerry DeLisle
754172c709 re PR testsuite/38946 (gcc trunk 143562 - Testsuite - gfortran failing tests that worked previously)
2010-06-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR testsuite/38946
	* gfortran.dg/array_constructor_23.f: Update test to allow for small
	error in comparing reals.

From-SVN: r161416
2010-06-25 21:32:37 +00:00
Alexandre Oliva
e0a80069ba re PR debug/44610 (VTA produces wrong variable location information)
PR debug/44610
* simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base
address if the offset is unknown.

From-SVN: r161413
2010-06-25 21:11:32 +00:00
Tobias Burnus
01349049e8 intrinsic.h (gfc_check_selected_real_kind, [...]): Update prototypes.
2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.h (gfc_check_selected_real_kind,
        gfc_simplify_selected_real_kind): Update prototypes.
        * intrinsic.c (add_functions): Add radix support to
        selected_real_kind.
        * check.c (gfc_check_selected_real_kind): Ditto.
        * simplify.c (gfc_simplify_selected_real_kind): Ditto.
        * trans-decl.c (gfc_build_intrinsic_function_decls):
        Change call from selected_real_kind to selected_real_kind2008.
        * intrinsic.texi (SELECTED_REAL_KIND): Update for radix.
        (PRECISION, RANGE, RADIX): Add cross @refs.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * intrinsics/selected_real_kind.f90
        (_gfortran_selected_real_kind2008): Add function.
        (_gfortran_selected_real_kind): Stub which calls
        _gfortran_selected_real_kind2008.
        * gfortran.map (GFORTRAN_1.4): Add
        _gfortran_selected_real_kind2008.
        * mk-srk-inc.sh: Save also RADIX.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * selected_real_kind_2.f90: New.
        * selected_real_kind_3.f90: New.

From-SVN: r161411
2010-06-25 21:40:37 +02:00
Stephen M. Webb
849cab7b75 Initial regex implementation.
2010-06-25  Stephen M. Webb  <stephen.webb@bregmasoft.ca>

  Initial regex implementation.

  * include/std/regex: Modified to use bits/regex_* headers.
  * include/bits/regex_compiler.h: New file.
  * include/bits/regex_constants.h: New file.
  * include/bits/regex_cursor.h: New file.
  * include/bits/regex_error.h: New file.
  * include/bits/regex_grep_matcher.h: New file.
  * include/bits/regex_grep_matcher.tcc: New file.
  * include/bits/regex.h: New file.
  * include/bits/regex_nfa.h: New file.
  * include/bits/regex_nfa.tcc: New file.
  * include/Makefile.am: Added above new files.
  * include/Makefile.in: Regenerated.
  * testsuite/28_regex/02_definitions: New file.
  * testsuite/28_regex/03_requirements: New file.
  * testsuite/28_regex/03_requirements/typedefs.cc: New file.
  * testsuite/28_regex/04_header: New file.
  * testsuite/28_regex/04_header/regex: New file.
  * testsuite/28_regex/04_header/regex/std_c++0x_neg.cc: New file.
  * testsuite/28_regex/05_constants: New file.
  * testsuite/28_regex/05_constants/error_type.cc: New file.
  * testsuite/28_regex/05_constants/match_flag_type.cc: New file.
  * testsuite/28_regex/05_constants/syntax_option_type.cc: New file.
  * testsuite/28_regex/06_exception_type: New file.
  * testsuite/28_regex/06_exception_type/regex_error.cc: New file.
  * testsuite/28_regex/07_traits: New file.
  * testsuite/28_regex/07_traits/char: New file.
  * testsuite/28_regex/07_traits/char/ctor.cc: New file.
  * testsuite/28_regex/07_traits/char/isctype.cc: New file.
  * testsuite/28_regex/07_traits/char/length.cc: New file.
  * testsuite/28_regex/07_traits/char/lookup_classname.cc: New file.
  * testsuite/28_regex/07_traits/char/lookup_collatename.cc: New file.
  * testsuite/28_regex/07_traits/char/transform.cc: New file.
  * testsuite/28_regex/07_traits/char/transform_primary.cc: New file.
  * testsuite/28_regex/07_traits/char/translate.cc: New file.
  * testsuite/28_regex/07_traits/char/translate_nocase.cc: New file.
  * testsuite/28_regex/07_traits/char/value.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t: New file.
  * testsuite/28_regex/07_traits/wchar_t/ctor.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/length.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/transform.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/translate.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/translate_nocase.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/value.cc: New file.
  * testsuite/28_regex/08_basic_regex: New file.
  * testsuite/28_regex/08_basic_regex/assign: New file.
  * testsuite/28_regex/08_basic_regex/assign/char: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/moveable.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/pstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/string.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/string_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/default.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/copy_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/move_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/string_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/regex.cc: New file.
  * testsuite/28_regex/09_sub_match: New file.
  * testsuite/28_regex/09_sub_match/cast_char.cc: New file.
  * testsuite/28_regex/09_sub_match/cast_wchar_t.cc: New file.
  * testsuite/28_regex/09_sub_match/length.cc: New file.
  * testsuite/28_regex/09_sub_match/typedefs.cc: New file.
  * testsuite/28_regex/10_match_results: New file.
  * testsuite/28_regex/10_match_results/ctors: New file.
  * testsuite/28_regex/10_match_results/ctors/char: New file.
  * testsuite/28_regex/10_match_results/ctors/char/default.cc: New file.
  * testsuite/28_regex/10_match_results/ctors/wchar_t: New file.
  * testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/10_match_results/typedefs.cc: New file.
  * testsuite/28_regex/11_algorithms: New file.
  * testsuite/28_regex/11_algorithms/02_match: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc: New file.
  * testsuite/28_regex/12_iterators: New file.
  * testsuite/28_regex/12_iterators/regex_iterator: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/char: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc: New file.
  * testsuite/28_regex/13_ecmascript: New file.

From-SVN: r161410
2010-06-25 19:27:16 +00:00
Tobias Burnus
58fc89f6b9 decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.
2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.
        * gfortran.texi (_gfortran_set_options): Update for
        GFC_STD_F2008_OBS addition.
        * libgfortran.h: Add GFC_STD_F2008_OBS.
        * options.c (set_default_std_flags, gfc_handle_option): Handle
        GFC_STD_F2008_OBS.
        io.c (check_format): Fix allow_std check.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * runtime/compile_options.c (init_compile_options): Update
        compile_options.allow_std for GFC_STD_F2008_OBS.
        * io/transfer.c (formatted_transfer_scalar_read,
        formatted_transfer_scalar_write): Fix allow_std check.
        * io/list_read.c (nml_parse_qualifier): Ditto.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/entry_19.f90: New.

From-SVN: r161409
2010-06-25 21:17:21 +02:00
Tobias Burnus
272001a244 decl.c (gfc_match_entry): Allow END besides END SUBROUTINE/END FUNCTION for contained procedures.
2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * decl.c (gfc_match_entry): Allow END besides
        END SUBROUTINE/END FUNCTION for contained procedures.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/end_subroutine_1.f90: New.
        * gfortran.dg/end_subroutine_2.f90: New.
        * gfortran.dg/interface_proc_end.f90: Update.

From-SVN: r161406
2010-06-25 21:02:47 +02:00
Tobias Burnus
c6c73c51ca parse.c (next_free, next_fixed): Allow ";" as first character.
2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * parse.c (next_free, next_fixed): Allow ";" as first character.

2010-06-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/semicolon_fixed.f: Update.
        * gfortran.dg/semicolon_fixed_2.f: New.
        * gfortran.dg/semicolon_free_2.f90: New.
        * gfortran.dg/semicolon_free.f90: Update.

From-SVN: r161405
2010-06-25 21:01:04 +02:00
Douglas B Rupp
8e7745dce2 dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
* dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
	* dwarf2out.h (dwarf2out_vms_debug_main_pointer): Declare new function.
	* config/ia64/ia64-protos.h (ia64_start_function): Declare.
	* config/ia64/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Move contents
	to ia64_start_function. Invoke it.
	* config/ia64/ia64.c (ia64_start_function): Call new function
	dwarf2out_vms_debug_main_pointer.

From-SVN: r161402
2010-06-25 18:49:36 +00:00
Sebastian Pop
5c8b27d7da Do not insert statements computing the true predicate.
2010-06-25  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-if-conv.c (insert_gimplified_predicates): Do not insert
	statements computing the true predicate.

From-SVN: r161398
2010-06-25 18:38:25 +00:00
Sebastian Pop
29caa68aa5 Use reset_bb_predicate whenever the predicate of a BB should be reset to true.
2010-06-25  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-if-conv.c (init_bb_predicate): Initialize the predicate
	to boolean_true_node.
	(reset_bb_predicate): New.
	(predicate_bbs): Call reset_bb_predicate.

From-SVN: r161397
2010-06-25 18:38:14 +00:00
Sebastian Pop
0f741287d6 Call cleanup_tree_cfg after if-conversion.
2010-06-25  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-if-conv.c (combine_blocks): Remove FIXME comment.
	(tree_if_conversion): Returns true when something has been changed.
	(main_tree_if_conversion): Return TODO_cleanup_cfg when if-conversion
	changed something.

From-SVN: r161396
2010-06-25 18:38:04 +00:00
Sebastian Pop
53aa40a821 Add a debug counter for the tree-ssa level if-conversion.
2010-06-25  Sebastian Pop  <sebastian.pop@amd.com>

	* Makefile.in (tree-if-conv.o): Depends on DBGCNT_H.
	* dbgcnt.def (if_conversion_tree): New DEBUG_COUNTER.
	* tree-if-conv.c: Include dbgcnt.h.
	(tree_if_conversion): Use if_conversion_tree to count the number of
	if-convertible loops.

From-SVN: r161395
2010-06-25 18:37:50 +00:00
Jerry DeLisle
ba8607beb2 re PR fortran/44448 (32-bit gfortran.dg/atan2_1.f90 fails on Solaris 1[01]/x86 at -O0)
2010-06-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/44448
	* gfortran.dg/atan2_1.f90: Add -ffloat-store.

From-SVN: r161392
2010-06-25 18:31:33 +00:00
Changpeng Fang
1fbb509aac Enable prefetching at -O3 for AMD cpus.
2010-06-25  Changpeng Fang  <changpeng.fang@amd.com>

	* common.opt (fprefetch-loop-arrays): Re-define
	-fprefetch-loop-arrays as a tri-state option with the initial
	value of -1.
	* tree-ssa-loop.c (gate_tree_ssa_loop_prefetch): Invoke prefetch
	pass only when flag_prefetch_loop_arrays > 0.
	* toplev.c (process_options): Note that, with tri-states,
	flag_prefetch_loop_arrays>0 means prefetching is enabled.
	* config/i386/i386.c (override_options): Enable prefetching at -O3
	for a set of CPUs that sw prefetching is helpful.
	(software_prefetching_beneficial_p): New.  Return TRUE if software
	prefetching is beneficial for the given CPU.

From-SVN: r161391
2010-06-25 18:25:00 +00:00
Paolo Carlini
c14420e173 profiler_list_to_slist.h: Remove spurious semicolon; prefer pre-increment.
2010-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_list_to_slist.h: Remove spurious
	semicolon; prefer pre-increment.
	* include/profile/impl/profiler_container_size.h: Use everywhere
	qualified std::size_t.
	* include/profile/impl/profiler_trace.h (__trace_base<>::
	__collect_warnings): Tidy loop.
	* include/profile/impl/profiler_vector_to_list.h: Minor formatting
	changes.

From-SVN: r161390
2010-06-25 17:06:06 +00:00
H.J. Lu
97f4308616 Don't search DEBUG_INSNs for removable zero extends.
2010-06-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR rtl-optimization/44326
	* implicit-zee.c (find_removable_zero_extends): Replace
	INSN_P with NONDEBUG_INSN_P.

From-SVN: r161389
2010-06-25 08:33:21 -07:00
Martin Jambor
062c604fc5 ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.
2010-06-25  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.
	(struct ipa_node_params): Removed the modification_analysis_done flag.
	(ipa_is_param_modified): Removed.
	(ipa_analyze_node): Declare.
	(ipa_compute_jump_functions): Remove declaration.
	(ipa_count_arguments): Likewise.
	(ipa_detect_param_modifications): Likewise.
	(ipa_analyze_params_uses): Likewise.
	* ipa-prop.c (struct param_analysis_info): New type.
	(visit_store_addr_for_mod_analysis): Removed.
	(visit_load_for_mod_analysis): Renamed to visit_ref_for_mod_analysis,
	moved down in the file.
	(ipa_detect_param_modifications): Merged into ipa_analyze_params_uses.
	(ipa_count_arguments): Made static.
	(mark_modified): New function.
	(is_parm_modified_before_call): New function.
	(compute_pass_through_member_ptrs): New parameter parms_info, call
	is_parm_modified_before_call instead of ipa_is_param_modified.
	(ipa_compute_jump_functions_for_edge): New parameter parms_info, pass
	it to compute_pass_through_member_ptrs.
	(ipa_compute_jump_functions): New parameter parms_info, pass it to
	ipa_compute_jump_functions_for_edge.  Call ipa_initialize_node_params
	on the callee if it is analyzed.  Made static.
	(ipa_analyze_indirect_call_uses): New parameter parms_info, call
	is_parm_modified_before_call instead of ipa_is_param_modified.
	(ipa_analyze_call_uses): New parameter parms_info, pass it to
	ipa_analyze_indirect_call_uses.
	(ipa_analyze_stmt_uses): New parameter parms_info, pass it to
	ipa_analyze_call_uses.
	(ipa_analyze_params_uses): New parameter parms_info, pass it to
	ipa_analyze_stmt_uses.  Also perform the used analysis.  Made static.
	(ipa_analyze_node): New function.
	(ipa_print_node_params): Do not dump the modified flag.
	(ipa_write_node_info): Assert uses_analysis_done rather than streaming
	it.  Do not stream the modified parameter flag.
	(ipa_read_node_info): Set uses_analysis_done to 1 instead of streaming
	it.  Do not stream the modified parameter flag.
	* ipa-cp.c (ipcp_analyze_node): Removed.
	(ipcp_init_stage): Iterate only once over the nodes, analyze each one
	with only a call to ipa_analyze_node.
	* ipa-inline.c (inline_indirect_intraprocedural_analysis): Analyze the
	node with only a call to ipa_analyze_node.
	
	* testsuite/g++.dg/ipa/iinline-3.C: New test.
	* testsuite/gcc.dg/ipa/modif-1.c: Removed.

From-SVN: r161384
2010-06-25 16:27:47 +02:00
Manuel López-Ibáñez
212580ffb8 invoke.texi (-Wsuggest-attribute): Add item for noreturn.
2010-06-25  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn.

From-SVN: r161383
2010-06-25 13:23:08 +00:00
Jan Hubicka
3e485f6245 tree-pass.h (pass_split_functions): Declare.
* tree-pass.h (pass_split_functions): Declare.
	* opts.c (decode_options): Enable function splitting at -O2
	* timevar.def (TV_IPA_FNSPLIT): New macro.
	* ipa-split.c: New file.
	* common.opt (-fpartial-inlining): New flag.
	* Makefile.in (ipa-split.o): New object file.
	* passes.c (init_optimization_passes): Add ipa-split.
	* params.def (max-inline-insns-auto): Reduce max-inline-insns-auto to 40.
	(partial-inlining-entry-probability): New parameters.
	* doc/invoke.texi (-fpartial-inlining): New.
	
	* testsuite/gcc.dg/tree-ssa/ipa-split.c

From-SVN: r161382
2010-06-25 13:13:31 +00:00
Manuel López-Ibáñez
129473197d re PR middle-end/44665 (typo in comment, incorrect/out-of-date comment)
2010-06-25  Manuel López-Ibáñez  <manu@gcc.gnu.org>

       PR 44665
       * tree-inline.c (gimple_expand_calls_inline): Fix typo in comment.
       * gimplify.c (is_gimple_reg_rhs_or_call): Likewise.
       (gimplify_expr): Likewise.

From-SVN: r161380
2010-06-25 13:09:28 +00:00
Martin Jambor
8aa29647d3 ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering statements instead of bailing out on them.
2010-06-25  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering
	statements instead of bailing out on them.
	(ipa_analyze_indirect_call_uses): Do not require that loads from the
	parameter are in the same BB as the condition.  Update comments.

	* testsuite/g++.dg/ipa/iinline-2.C: New test.

From-SVN: r161377
2010-06-25 14:46:41 +02:00
Jakub Jelinek
7a2eceff8f re PR middle-end/43866 (wrong code with -fbounds-check -funswitch-loops)
PR middle-end/43866
	* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always
	true or always false, return NULL_TREE.
	(tree_unswitch_single_loop): Optimize conditions even when reaching
	max-unswitch-level parameter.  If num > 0, optimize first all conditions
	using entry checks, then do still reachable block discovery and consider
	only conditions in still reachable basic blocks in the loop.

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

From-SVN: r161375
2010-06-25 14:10:42 +02:00
Jakub Jelinek
8ba0479ece re PR tree-optimization/44539 (ICE: verify_ssa failed: type mismatch between an SSA_NAME and its symbol)
PR tree-optimization/44539
	* tree-cfgcleanup.c (fixup_noreturn_call): Call update_stmt even when
	the call doesn't have LHS, but has VDEF.

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

From-SVN: r161374
2010-06-25 14:07:00 +02:00
Paolo Carlini
47d660fbcc profiler_list_to_slist.h: Remove spurious semicolon; prefer pre-increment.
2010-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_list_to_slist.h: Remove spurious
	semicolon; prefer pre-increment.
	* include/profile/impl/profiler_container_size.h: Use everywhere
	qualified std::size_t.
	* include/profile/impl/profiler_trace.h (__trace_base<>::
	__collect_warnings): Tidy loop.
	* include/profile/impl/profiler_vector_to_list.h: Minor formatting
	changes.

From-SVN: r161373
2010-06-25 11:37:54 +00:00
Joseph Myers
d68411092e pa.h (MODIFY_TARGET_NAME): Remove.
* config/pa/pa.h (MODIFY_TARGET_NAME): Remove.
	* doc/tm.texi (MODIFY_TARGET_NAME): Don't document.
	* gcc.c (enum add_del, struct modify_target, modify_target):
	Remove.
	(process_command): Remove code conditional on MODIFY_TARGET_NAME.
	* system.h (MODIFY_TARGET_NAME): Poison.

From-SVN: r161372
2010-06-25 12:12:01 +01:00