Commit Graph

110501 Commits

Author SHA1 Message Date
Richard Henderson
ce363ef2bd dwarf2cfi: Remove dw_cfi_row_ref typedef.
* dwarf2cfi.c (dw_cfi_row_ref): Remove.  Update all users.

From-SVN: r176701
2011-07-23 13:19:22 -07:00
Richard Henderson
57e16c9625 dwarf2cfi: Implement change_cfi_row.
Add a generic function to adjust cfi state from one row to another.
Use this to implement text section switching.  This will also be
usable for arbitrary changes around a cfg for shrink-wrapping.

        * dwarf2cfi.c (add_cfi_args_size): Split out from...
        (dwarf2out_args_size): ... here.
        (add_cfi_restore): Split out from ...
        (dwarf2out_frame_debug_cfa_restore): ... here.
        (def_cfa_0): Split out from ...
        (def_cfa_1): ... here.
        (cfi_oprnd_equal_p, cfi_equal_p): New.
        (change_cfi_row): New.
        (add_cfis_to_fde): Set fde->dw_fde_switch_cfi_index.
        (create_cfi_notes): Use change_cfi_row at SWITCH_TEXT note.
        (output_cfis): Remove.
        * dwarf2out.c (output_fde): Simplify output_cfi loop.
        (dwarf2out_switch_text_section): Don't call output_cfis.
        (dw_val_equal_p, loc_descr_equal_p_1, loc_descr_equal_p): New.
        * dwarf2out.h: Update decls.
        (enum dw_val_class): Add dw_val_class_none.

From-SVN: r176700
2011-07-23 13:17:54 -07:00
Richard Henderson
f1a0e8300d dwarf2cfi: Populate CUR_ROW->REG_SAVE.
To be actually used by a subsequent patch.

        * dwarf2cfi.c (update_row_reg_save): New.
        (dwarf2out_frame_debug_cfa_expression): Use it.
        (dwarf2out_frame_debug_cfa_restore): Likewise.
        (reg_save): Likewise.  Do not emit DW_CFA_same_value.

From-SVN: r176699
2011-07-23 13:06:42 -07:00
Richard Henderson
141618e22d dwarf2cfi: Rename cfi_insn to add_cfi_insn.
Make it consistent with add_cfi_vec.

        * dwarf2cfi.c (add_cfi_insn): Rename from cfi_insn.  Update all users.

From-SVN: r176698
2011-07-23 13:00:43 -07:00
Richard Henderson
f17d3401b9 dwarf2cfi: Introduce a dw_cfi_row state.
Use it instead of old_cfa, old_args_size, and cfa_remember variables.

Remove the global cfa variable, as it was usually a duplicate of
old_cfa and otherwise confusing.  Always make a local copy of the
cur_row->cfa variable before modification instead.

        * dwarf2cfi.c (dw_cfi_row, dw_cfi_row_ref): New.
        (cie_cfi_row): New.
        (new_cfi_row, copy_cfi_row, free_cfi_row): New.
        (cfa, old_cfa, cfa_remember, old_cfa_remember, old_args_size): Remove.
        (cur_row, remember_row): New.
        (def_cfa_1): Use cur_row instead of the old_* variables.
        (dwarf2out_frame_debug_restore_state): Similarly.
        (dwarf2out_args_size, dwarf2out_notice_stack_adjust): Likewise.
        (dwarf2out_frame_debug_def_cfa): Use a local variable instead of cfa.
        (dwarf2out_frame_debug_adjust_cfa): Likewise.
        (dwarf2out_frame_debug_cfa_offset): Likewise.
        (dwarf2out_frame_debug_expr): Likewise.
        (execute_dwarf2_frame): Set up cur_row.
        * dwarf2out.h (struct cfa_loc): Mark for GTY.

From-SVN: r176697
2011-07-23 12:58:46 -07:00
Richard Henderson
0be7e7a6db bb-reorder: Split EH edges crossing partitions.
From-SVN: r176696
2011-07-23 12:44:19 -07:00
Richard Earnshaw
e01705517a re PR target/49816 (arm.c:3999:12: error: converting 'false' to pointer type 'rtx')
PR target/49816
	* arm.c (aapcs_vfp_allocate_return_reg): Return NULL on failure.

From-SVN: r176687
2011-07-23 14:43:33 +00:00
Andreas Schwab
53390685bd ctime.c: Include <stdlib.h>.
* libgfortran/intrinsics/ctime.c: Include <stdlib.h>.
* libgfortran/intrinsics/getlog.c: Likewise.
* libgfortran/runtime/stop.c: Likewise.

From-SVN: r176675
2011-07-23 11:06:04 +00:00
Arnaud Charlet
0a6ecc0829 re PR ada/49819 (bogus reference to g-trasym-dwarf.adb in Makefile)
2011-07-23  Arnaud Charlet  <charlet@adacore.com>

	PR ada/49819
	* gcc-interface/Makefile.in (powerpc-linux): Remove reference to
	g-trasym-dwarf.adb.

From-SVN: r176673
2011-07-23 11:19:44 +02:00
Benjamin Kosnik
9b9e81a0a9 move.h (move, forward): Mark constexpr.
2011-07-22  Benjamin Kosnik  <bkoz@redhat.com>
	    Daniel Krugler  <daniel.kruegler@googlemail.com>

	* include/bits/move.h (move, forward): Mark constexpr.
	* include/bits/stl_pair.h (pair): Mark move ctors constexpr.
	* testsuite/20_util/pair/make_pair/constexpr.cc: New.
	* testsuite/20_util/pair/cons/constexpr.cc: Add tests.


Co-Authored-By: Daniel Krugler <daniel.kruegler@googlemail.com>

From-SVN: r176672
2011-07-23 03:17:11 +00:00
Jason Merrill
15c2ccbac5 * doc/invoke.texi (C++ Dialect Options): Document -Wno-narrowing.
From-SVN: r176670
2011-07-22 20:30:13 -04:00
GCC Administrator
5b960c5a6e Daily bump.
From-SVN: r176669
2011-07-23 00:18:28 +00:00
Jason Merrill
76f86d00d9 re PR c++/49793 ([C++0x] Narrowing conversion from int/short/char to double)
PR c++/49793
	* typeck2.c (check_narrowing): Downgrade permerror to pedwarn.
	Make conditional on -Wnarrowing.

From-SVN: r176665
2011-07-22 20:14:46 -04:00
Richard Henderson
295331a419 * bb-reorder.c (gate_handle_partition_blocks): Honor optimize.
From-SVN: r176664
2011-07-22 16:54:29 -07:00
Richard Henderson
5f93b30abd Fix mark_all_labels vs cfglayout mode.
* jump.c (maybe_propagate_label_ref): Split out of...
        (mark_all_labels): ... here.  Do not attempt label_ref
        propagation while in cfglayout mode.

From-SVN: r176663
2011-07-22 16:19:25 -07:00
Gerald Pfeifer
a0a22423b0 re PR target/49817 (libiberty/stack-limit.c causes a bootstrap failure on all FreeBSD targets)
PR target/49817
	* stack-limit.c: Include <stdint.h>.

From-SVN: r176662
2011-07-22 22:52:55 +00:00
Tobias Burnus
f5e62ce922 re PR libfortran/49791 (Formatted namelist reads fails with: Cannot match namelist object)
2011-07-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49791
        * io/list_read.c (nml_parse_qualifier): Remove check to
        enabled extended read for another case.

2011-07-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49791
        * gfortran.dg/namelist_72.f: New.

From-SVN: r176661
2011-07-23 00:44:20 +02:00
Tobias Burnus
efc694a70a resolve.c (resolve_symbol): Fix coarray var decl check.
2011-07-23  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (resolve_symbol): Fix coarray var decl check.

2011-07-23  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_25.f90: New.

From-SVN: r176660
2011-07-23 00:39:10 +02:00
Ville Voutilainen
eda42c4f3c Warn about the use of final/override in non-c++0x mode, and add __final for non-c++0x mode.
Warn about the use of final/override in non-c++0x mode, and
	add __final for non-c++0x mode.
	* cp-tree.h (cpp0x_warn_str): Add CPP0X_OVERRIDE_CONTROLS.
	* error.c (maybe_warn_cpp0x): Adjust.
	* parser.c (cp_parser_virt_specifier_seq_opt): Use it. Add
	'__final' as a non-c++0x alternative for 'final'.

From-SVN: r176655
2011-07-22 17:05:58 -04:00
Jakub Jelinek
520cda8ca8 dwarf2.h (DW_AT_GNU_macros): New.
* dwarf2.h (DW_AT_GNU_macros): New.
	(enum dwarf_macro_record_type): New enum.  Add DW_MACRO_GNU_*.

	* dwarf2out.c (struct macinfo_struct): Change code to unsigned char.
	(DEBUG_MACRO_SECTION, DEBUG_MACRO_SECTION_LABEL): Define.
	(dwarf_attr_name): Handle DW_AT_GNU_macros.
	(dwarf2out_define): If the vector is empty and
	lineno is 0, emit a dummy entry first.
	(dwarf2out_undef): Likewise.  Remove redundant semicolon.
	(htab_macinfo_hash, htab_macinfo_eq, output_macinfo_op,
	optimize_macinfo_range): New functions.
	(output_macinfo): Use them.  If !dwarf_strict and .debug_str is
	mergeable, optimize longer strings using
	DW_MACRO_GNU_{define,undef}_indirect and if HAVE_COMDAT_GROUP,
	optimize longer sequences of define/undef ops from headers
	using DW_MACRO_GNU_transparent_include.  For !dwarf_strict
	emit a section headers.
	(dwarf2out_init): For !dwarf_strict set debug_macinfo_section
	and macinfo_section_label to DEBUG_MACRO_SECTION
	resp. DEBUG_MACRO_SECTION_LABEL.
	(dwarf2out_finish): For !dwarf_strict emit DW_AT_GNU_macros
	instead of DW_AT_macro_info.

From-SVN: r176653
2011-07-22 22:06:09 +02:00
Jakub Jelinek
e967adf4e2 re PR other/32998 (-frecord-gcc-switches issues)
PR other/32998
	* common.opt (grecord-gcc-switches, gno-record-gcc-switches): New
	options.
	* dwarf2out.c: Include opts.h.
	(dchar_p): New typedef.  Define heap VEC for it.
	(producer_string): New variable.
	(gen_producer_string): New function.
	(gen_compile_unit_die): Use it.
	(dwarf2out_finish): Fix up comp_unit_die () DW_AT_producer
	if needed.
	* Makefile.in (dwarf2out.o): Depend on $(OPTS_H).
	* doc/invoke.texi: Document -grecord-gcc-switches and
	-gno-record-gcc-switches, add a -grecord-gcc-switches reference
	to -frecord-gcc-switches description.

From-SVN: r176652
2011-07-22 22:03:33 +02:00
Jason Merrill
3a636414b2 re PR c++/30112 (pragma redefine_extname fails when namespaces are involved)
PR c++/30112
gcc/c-family/
	* c-common.h: Declare c_linkage_bindings.
	* c-pragma.c (handle_pragma_redefine_extname): Use it.
gcc/
	* c-decl.c (c_linkage_bindings): Define.
gcc/cp/
	* decl.c (cp_finish_decl): Apply pragma redefine_extname in
	other namespaces as well.
	* name-lookup.c (c_linkage_bindings): Define.
	(lookup_extern_c_fun_in_all_ns): Rename from
	lookup_extern_c_fun_binding_in_all_ns.  Return tree.
	(pushdecl_maybe_friend_1): Adjust.  Copy DECL_ASSEMBLER_NAME.

Co-Authored-By: Mark Glisse <marc.glisse@normalesup.org>

From-SVN: r176650
2011-07-22 15:59:49 -04:00
Eric Botcazou
8b9b22755b re PR debug/49815 (ICE in cselib_record_set, at cselib.c:2241 compiling 64-bit libjava on SPARC)
PR debug/49815
	* var-tracking.c (vt_finalize): Always free windowed_parm_regs.

From-SVN: r176647
2011-07-22 18:47:17 +00:00
Jason Merrill
fcb2172202 re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
PR c++/49813
	* c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
	* c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
	as flag_isoc99 for 'restrict'.
	(pp_c_specifier_qualifier_list): Likewise for _Complex.

From-SVN: r176635
2011-07-22 12:06:08 -04:00
H.J. Lu
3de69514c3 Disallow MS ABI in x32 mode.
gcc/

2011-07-22  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_option_override_internal): Disallow
	MS ABI in x32 mode.
	(ix86_init_builtins): Call ix86_init_builtins_va_builtins_abi
	only for TARGET_LP64.
	(ix86_handle_abi_attribute): Check TARGET_LP64 instead of
	TARGET_64BIT.

gcc/testsuite/

2011-07-22  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc/testsuite/gcc.target/i386/avx-vzeroupper-16.c: Only run
	on lp64 targets.
	* gcc/testsuite/gcc.target/i386/avx-vzeroupper-17.c: Likewise.
	* gcc/testsuite/gcc.target/i386/avx-vzeroupper-18.c: Likewise.
	* gcc/testsuite/gcc.target/i386/pr43662.c: Likewise.
	* gcc/testsuite/gcc.target/i386/pr43869.c: Likewise.

	* gcc.target/x86_64/abi/callabi/callabi.exp: Check ilp32
	instead of ia32.

From-SVN: r176634
2011-07-22 09:04:02 -07:00
Michael Meissner
49f6f4f7e8 Fix up ChangeLog date
From-SVN: r176632
2011-07-22 15:50:07 +00:00
Michael Meissner
e56fa6bb12 Allow linux ppc to bootstrap again
From-SVN: r176631
2011-07-22 15:49:08 +00:00
Martin Jambor
b75d1e2107 re PR lto/49796 (483.xalancbmk/447.dealII in SPEC CPU 2006 failed to build)
2011-07-22  Martin Jambor  <mjambor@suse.cz>

	PR lto/49796
	* cgraphunit.c (verify_edge_corresponds_to_fndecl): Return false
	if decl node is in another partition, call cgraph_get_node only
	once.

From-SVN: r176630
2011-07-22 17:35:48 +02:00
Uros Bizjak
e3c666fd0e * ChangeLog: Fix my last entry.
From-SVN: r176629
2011-07-22 17:28:57 +02:00
Uros Bizjak
63708bf570 config.gcc (i[34567]86-*-linux*): Set default_gnu_indirect_function to yes.
* config.gcc (i[34567]86-*-linux*): Set
	default_gnu_indirect_function to yes.

From-SVN: r176628
2011-07-22 17:21:57 +02:00
Ian Lance Taylor
4ebb4fbf5d fragment.am (CONFIG_CXXFLAGS): Add -frandom-seed.
* fragment.am (CONFIG_CXXFLAGS): Add -frandom-seed.
	* Makefile.in: Rebuild.
	* doc/Makefile.in: Rebuild.
	* include/Makefile.in: Rebuild.
	* libsupc++/Makefile.in: Rebuild.
	* po/Makefile.in: Rebuild.
	* python/Makefile.in: Rebuild.
	* src/Makefile.in: Rebuild.
	* testsuite/Makefile.in: Rebuild.

From-SVN: r176626
2011-07-22 13:52:51 +00:00
Richard Guenther
27315aa68f re PR middle-end/45819 (unexpected unaligned access to volatile int)
2011-07-22  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45819
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
	preserve volatile and notrap flags.

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

From-SVN: r176623
2011-07-22 11:55:30 +00:00
Jakub Jelinek
679debeea3 re PR c++/49756 (g++ ICE)
PR c++/49756
	* libiberty.h (stack_limit_increase): New prototype.

	* stack-limit.c: New file.
	* Makefile.in: Regenerate deps.
	(CFILES): Add stack-limit.c.
	(REQUIRED_OFILES): Add ./stack-limit.$(objext).
	* configure.ac (checkfuncs): Add getrlimit and setrlimit.
	(AC_CHECK_FUNCS): Likewise.
	* configure: Regenerated.
	* config.in: Regenerated.

	* gcc.c (main): Call stack_limit_increase (64MB).
	* toplev.c (toplev_main): Likewise.

From-SVN: r176622
2011-07-22 11:21:49 +02:00
Uros Bizjak
50823f95fd * lib/target-supports.exp (check_ifunc_available): Improve comment.
From-SVN: r176621
2011-07-22 11:19:44 +02:00
Rainer Orth
5b6d595bd7 re PR bootstrap/49794 (Solaris 10/x86 bootstrap broken by C++ build)
2011-07-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
	    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	gcc:
	PR bootstrap/49794
	* configure.ac: Test AM_ICONV with CXX.
	* configure: Regenerate.
	* config/sol2-c.c (solaris_format_types): Use EXPORTED_CONST.

	gcc/ada:
	PR bootstrap/49794
	* init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
	Assign to act.sa_sigaction.
	* tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
	current->return_address to char * before arithmetic.

	libcpp:
	PR bootstrap/49794
	* configure.ac: Test AM_ICONV with CXX.
	* configure: Regenerate.
	* system.h (HAVE_DESIGNATED_INITIALIZERS): Never define for C++.

Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

From-SVN: r176620
2011-07-22 08:58:25 +00:00
Rainer Orth
94017021b1 init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
* init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
	Correct argument types.
	Extract code from reason.
	(__gnat_install_handler): Assign to act.sa_sigaction.

From-SVN: r176619
2011-07-22 08:53:01 +00:00
Rainer Orth
7e2fe4887e re PR bootstrap/49797 (CLooG use of LANGUAGE_C conflicts with MIPS compilers)
PR bootstrap/49797
	* graphite-clast-to-gimple.c (CLOOG_LANGUAGE_C): Provide if missing.
	(set_cloog_options): Use it.

From-SVN: r176618
2011-07-22 08:49:23 +00:00
Jakub Jelinek
d423df4823 re PR c++/49756 (g++ ICE)
PR c++/49756
	* libiberty.h (stack_limit_increase): New prototype.

	* stack-limit.c: New file.
	* Makefile.in: Regenerate deps.
	(CFILES): Add stack-limit.c.
	(REQUIRED_OFILES): Add ./stack-limit.$(objext).
	* configure.ac (checkfuncs): Add getrlimit and setrlimit.
	(AC_CHECK_FUNCS): Likewise.
	* configure: Regenerated.
	* config.in: Regenerated.

	* gcc.c (main): Call stack_limit_increase (64MB).
	* toplev.c (toplev_main): Likewise.

From-SVN: r176617
2011-07-22 10:33:37 +02:00
Uros Bizjak
e05de0a910 target-supports.exp (check_ifunc_available): Rewrite.
* lib/target-supports.exp (check_ifunc_available): Rewrite.

From-SVN: r176616
2011-07-22 08:29:35 +02:00
H.J. Lu
7fd72c6fb5 Call copy_to_mode_reg instead of force_reg.
2011-07-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_expand_call): Call copy_to_mode_reg
	instead of force_reg.

From-SVN: r176614
2011-07-21 22:23:22 -07:00
Benjamin Kosnik
69a6209457 tree_no_data_map_rand.cc: Move...
2011-07-21  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/tree_set_rand.cc: ... here.
	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: Move...
	* testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc: ... here.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/tree_map_rand.cc: ... here.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: Move...
	* testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc: ... here.

	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/trie_set_rand.cc: ... here.
	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: Move...
	* testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc: ... here.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/trie_map_rand.cc: ... here.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: Move...
	* testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc: ... here.

	* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Move.
	* testsuite/ext/pb_ds/regression/list_update_set_rand.cc: ...here.
	* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
	Move...
	* testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc: ...here.
	* testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/list_update_map_rand.cc: ...here.
	* testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
	Move...
	* testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc: ...here.

	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/hash_set_rand.cc: ...here.
	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: Move...
	* testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc: ...here.

	* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/hash_map_rand.cc: ...here.
	* testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: Move...
	* testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc: ...here.

From-SVN: r176613
2011-07-22 04:17:17 +00:00
H.J. Lu
96f0b77287 Convert to Pmode if needed and use force_reg after convert.
2011-07-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_expand_move): Convert to Pmode if
	needed and use force_reg after convert.
	(ix86_expand_call): Likewise.
	(ix86_expand_special_args_builtin): Likewise.
	(ix86_expand_builtin): Likewise.

From-SVN: r176612
2011-07-21 17:56:10 -07:00
GCC Administrator
9225c7ef38 Daily bump.
From-SVN: r176610
2011-07-22 00:18:57 +00:00
Daniel Carrera
8f992d640e trans.c (gfc_allocate_with_status): Split into two functions gfc_allocate_using_malloc and gfc_allocate_usig_lib.
2011-07-21  Daniel Carrera  <dcarrera@gmail.com>

	* trans.c (gfc_allocate_with_status): Split into two functions
	gfc_allocate_using_malloc and gfc_allocate_usig_lib.
	(gfc_allocate_using_malloc): The status parameter is now the
	actual status rather than a pointer. Code cleanup.
	(gfc_allocate_using_lib): Ditto. Add new parametrs errmsg and
	errlen. Pass these to the coarray lib.
	* trans-openmp.c (gfc_omp_clause_default_ctor): Update calls to
	gfc_allocate_allocatable.
	(gfc_omp_clause_copy_ctor): Ditto.
	(gfc_trans_omp_array_reduction): Ditto.
	* trans-stmt.c (gfc_trans_allocate): Ditto. Update call to
	gfc_allocate_using_malloc. Pass stat rather than pstat to the allocate
	fuctions. If using coarray lib, pass errmsg and errlen to the allocate
	functions. Move error checking outside the if (!gfc_array_allocate)
	block so that it also affects trees produced by gfc_array_allocate.
	* trans-array.c (gfc_array_allocate): Add new parameters errmsg
	and errlen. Replace parameter pstat by status. Code cleanup. Update
	calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
	* trans-array.h (gfc_array_allocate): Update signature of
	gfc_array_allocate.

From-SVN: r176606
2011-07-21 23:18:24 +00:00
Sebastian Pop
ef74e2ba38 Infer types based on lb and ub.
2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/47654
	PR middle-end/49649
	* graphite-clast-to-gimple.c (type_for_clast_term): Pass v1 and v2
	in parameter.  Initialize v1 and v2 based on the values returned
	by clast_name_to_lb_ub.
	(type_for_clast_red): Pass v1 and v2 in parameter, and set their
	values.
	(type_for_clast_bin): Same.
	(type_for_clast_expr): Same.
	(type_for_clast_eq): Update calls to type_for_clast_expr.
	(type_for_clast_for): Same.
	(build_iv_mapping): Same.
	* graphite-ppl.h (value_min): New.

	* gcc.dg/graphite/run-id-pr47654.c: New.

From-SVN: r176605
2011-07-21 22:57:59 +00:00
Sebastian Pop
84f2ffea18 Generate signed types whenever possible.
2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (type_for_interval): Generate signed
	types whenever possible.

From-SVN: r176604
2011-07-21 22:57:49 +00:00
Sebastian Pop
3d9784cb6f Compute once and cache the LB and UB for each clast_name.
2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (struct clast_name_index): Add lb
	and ub fields.
	(new_clast_name_index): Add lb and ub parameters.
	(free_clast_name_index): New.
	(clast_name_to_lb_ub): New.
	(save_clast_name_index): Add lb and ub parameters.
	(compute_bounds_for_param): New.
	(type_for_level): Removed.
	(type_for_clast_for): Removed level parameter.  Do not call
	type_for_level.
	(graphite_create_new_loop): Store the lb and ub for the clast_name
	of the iterator of the loop that has been generated.
	(graphite_create_new_loop_guard): Remove parameter level.
	(create_params_index): Store the lb and ub of each parameter.
	(gloog): Use free_clast_name_index.  Pass to create_params_index
	the current scop.

From-SVN: r176603
2011-07-21 22:57:40 +00:00
Sebastian Pop
12b30e6dae Remove max_signed_precision_type.
2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (max_signed_precision_type): Removed.
	(max_precision_type): Inline max_signed_precision_type.
	(type_for_clast_red): Use max_precision_type.
	(type_for_clast_bin): Same.
	(type_for_clast_for): Same.

From-SVN: r176602
2011-07-21 22:57:30 +00:00
Sebastian Pop
0cdd9dcf76 Rename gcc_type_for_clast_* into type_for_clast_*
2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (gcc_type_for_interval): Renamed
	type_for_interval.
	(gcc_type_for_value): Renamed type_for_value.
	(gcc_type_for_clast_term): Renamed type_for_clast_term.
	(gcc_type_for_clast_expr): Renamed type_for_clast_expr.
	(gcc_type_for_clast_red): Renamed type_for_clast_red.
	(gcc_type_for_clast_bin): Renamed type_for_clast_bin.
	(gcc_type_for_clast_eq): Renamed type_for_clast_eq.
	(graphite_translate_clast_equation): Update calls.
	(compute_type_for_level): Renamed type_for_level.
	(gcc_type_for_iv_of_clast_loop): Renamed type_for_clast_for.
	(build_iv_mapping): Update calls.
	(graphite_create_new_loop_guard): Same.

From-SVN: r176601
2011-07-21 22:57:19 +00:00
Sebastian Pop
8aab43a09f Add fixme comment.
2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (clast_get_body_of_loop): Add fixme
	comment.

From-SVN: r176600
2011-07-21 22:57:10 +00:00