platform/upstream/linaro-gcc.git
11 years ago * hooks.c (hook_int_rtx_mode_as_bool_0): New function.
olegendo [Wed, 5 Sep 2012 17:31:17 +0000 (17:31 +0000)]
* hooks.c (hook_int_rtx_mode_as_bool_0): New function.
* hooks.h (hook_int_rtx_mode_as_bool_0): Declare it.
* output.h (default_address_cost): Add machine_mode and address space
arguments.
* target.def (address_cost): Likewise.
* rtlanal.c (address_cost): Pass mode and address space to target hook.
(default_address_cost): Add unnamed machine_mode and address space
arguments.
* doc/tm.texi: Regenerate.
* config/alpha/alpha.c (TARGET_ADDRESS_COST): Use
hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
* config/arm/arm.c (arm_address_cost): Add machine_mode and address
space arguments.
* config/avr/avr.c (avr_address_cost): Likewise.
* config/bfin/bfin.c (bfin_address_cost): Likewise.
* config/cr16/cr16.c (cr16_address_cost): Likewise.
* config/cris/cris.c (cris_address_cost): Likewise.
* config/epiphany/epiphany.c (epiphany_address_cost): Likewise.
* config/i386/i386.c (ix86_address_cost): Likewise.
* config/ia64/ia64.c (TARGET_ADDRESS_COST): Use
hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
* config/iq2000/iq2000.c (iq2000_address_cost): Add machine_mode and
address space arguments.  Pass them on in recursive invocation.
* config/lm32/lm32.c (TARGET_ADDRESS_COST): Use
hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
* config/m32c/m32c.c (m32c_address_cost): Add machine_mode and address
space arguments.
* config/m32r/m32r.c (TARGET_ADDRESS_COST): Use
hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
* config/mcore/mcore.c (TARGET_ADDRESS_COST): Likewise.
* config/mep/mep.c (mep_address_cost): Add machine_mode and address
space arguments.
* config/microblaze/microblaze.c (microblaze_address_cost): Likewise.
* config/mips/mips.c (mips_address_cost): Likewise.
* config/mmix/mmix.c (TARGET_ADDRESS_COST): Use
hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
* config/mn10300/mn10300.c (mn10300_address_cost): Add machine_mode and
address space arguments.
(mn10300_rtx_costs): Pass GET_MODE (x) and MEM_ADDR_SPACE (x) to
mn10300_address_cost.
* config/pa/pa.c (hppa_address_cost): Add machine_mode and address
space arguments.
* config/rs6000/rs6000.c (rs6000_debug_address_cost): Likewise.
(TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of
hook_int_rtx_bool_0.
* config/rx/rx.c (rx_address_cost): Add machine_mode and address
space arguments.
* config/s390/s390.c (s390_address_cost): Likewise.
* config/score/score-protos.h (score_address_cost): Likewise.
* config/score/score.c (score_address_cost): Likewise.
* config/sh/sh.c (sh_address_cost): Likewise.
* config/sparc/sparc.c (TARGET_ADDRESS_COST): Use
hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
* config/spu/spu.c (TARGET_ADDRESS_COST): Likewise.
* config/stormy16/stormy16.c (xstormy16_address_cost): Add machine_mode
and address space arguments.
* config/v850/v850.c (TARGET_ADDRESS_COST): Use
hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
* config/vax/vax.c (vax_address_cost): Add machine_mode and address
space arguments.
* config/xtensa/xtensa (TARGET_ADDRESS_COST): Use
hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190990 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-05 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 5 Sep 2012 16:40:48 +0000 (16:40 +0000)]
2012-09-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54462
        * symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190989 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR bootstrap/54484
dnovillo [Wed, 5 Sep 2012 16:34:42 +0000 (16:34 +0000)]
PR bootstrap/54484
* vec.h (vec_t::lower_bound): Fix spelling of LESSTHAN
argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190988 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/54486
jakub [Wed, 5 Sep 2012 16:27:55 +0000 (16:27 +0000)]
PR middle-end/54486
* builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
build_int_cst with size_type_node instead of size_int.

* c-c++-common/pr54486.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190986 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/sse.md (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>):
uros [Wed, 5 Sep 2012 15:20:01 +0000 (15:20 +0000)]
* config/i386/sse.md (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>):
Use register_operand instead of reg_not_xmm0_operand{,_maybe_avx}.
Use nonimmediate_operand instead of
nonimm_not_xmm0_operand{,_maybe_avx}.
(<sse4_1_avx2>_pblendvb): Ditto.
(sse4_2_pcmpestr): Ditto.
(*sse4_2_pcmpestr_unaligned): Ditto.
(sse4_2_pcmpistr): Ditto.
(*sse4_2_pcmpistr_unaligned): Ditto.
* config/i386/predicates.md (reg_not_xmm0_operand): Remove predicate.
(nonimm_not_xmm0_operand): Ditto.
(nonimm_not_xmm0_operand_maybe_avx): Ditto.
(nonimm_not_xmm0_operand_maybe_avx): Ditto.
* config/i386/i386.md (rdpmc): Do not force operand 1 into ecx.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190985 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * src/c++11/random.cc (random_device::_M_init): Check whether cpuid
drepper [Wed, 5 Sep 2012 13:54:57 +0000 (13:54 +0000)]
* src/c++11/random.cc (random_device::_M_init): Check whether cpuid
instruction is available by using __get_cpuid_max.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190982 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * bb-reorder.c: Clarify a few points in the head comment and fix
ebotcazou [Wed, 5 Sep 2012 13:37:12 +0000 (13:37 +0000)]
* bb-reorder.c: Clarify a few points in the head comment and fix
long lines in other comments.
(find_traces): Fix long line.
(find_traces_1_round): Likewise.
(better_edge_p): Likewise.
(connect_traces): Likewise.
(duplicate_computed_gotos): Likewise.
(find_rarely_executed_basic_blocks_and_cr): Remove trailing spaces.
(fix_up_fall_thru_edges): Fix formatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190979 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-05 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 5 Sep 2012 13:29:13 +0000 (13:29 +0000)]
2012-09-05  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/46590
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Do not
update SSA form here.
(canonicalize_induction_variables): Assert we do not need to
update SSA form.
(tree_unroll_loops_completely): Update SSA form here.
* tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge):
Do not verify loop-closed SSA form if SSA form is not up-to-date.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190978 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-05 Dominique Dhumieres <dominiq@lps.ens.fr>
mikael [Wed, 5 Sep 2012 13:26:58 +0000 (13:26 +0000)]
2012-09-05  Dominique Dhumieres  <dominiq@lps.ens.fr>

PR fortran/54474
* gfortran.dg/coarray_poly_3.f90: Adjust error messages.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190977 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>)
drepper [Wed, 5 Sep 2012 12:41:17 +0000 (12:41 +0000)]
* include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>)
(operator()): Use __generate() function of _M_nd.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190975 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago/cp
paolo [Wed, 5 Sep 2012 10:14:37 +0000 (10:14 +0000)]
/cp
2012-09-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54191
* search.c (lookup_base): Add tsubst_flags_t parameter.
(adjust_result_of_qualified_name_lookup, check_final_overrider):
Adjust.
* name-lookup.c (do_class_using_decl): Adjust.
* typeck2.c (binfo_or_else, build_scoped_ref, build_m_component_ref):
Likewise.
* cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
build_up_reference): Likewise.
* rtti.c (build_dynamic_cast_1): Likewise.
* tree.c (maybe_dummy_object): Likewise.
* call.c (build_conditional_expr_1, build_over_call): Likewise.
* cp-tree.h (UNIQUELY_DERIVED_FROM_P, PUBLICLY_UNIQUELY_DERIVED_P):
Remove.
(enum base_access_flags, ba_quiet): Remove.
(uniquely_derived_from_p, publicly_uniquely_derived_p): Declare.
* except.c (can_convert_eh): Adjust.
* decl.c (grokdeclarator): Likewise.
* typeck.c (comp_except_types, build_class_member_access_expr,
finish_class_member_access_expr, get_member_function_from_ptrfunc,
build_static_cast_1, get_delta_difference_1): Likewise.
* class.c (build_base_path, convert_to_base, build_vtbl_ref_1,
warn_about_ambiguous_bases): Likewise.
(uniquely_derived_from_p, publicly_uniquely_derived_p): Define.

/testsuite
2012-09-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54191
* g++.dg/cpp0x/sfinae39.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190969 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54461
gjl [Wed, 5 Sep 2012 08:47:50 +0000 (08:47 +0000)]
PR target/54461
* configure.ac (noconfigdirs,target=avr-*-*): Add target-newlib,
target-libgloss if not configured --with-avrlibc=no.
* configure: Regenerate.

libgcc/
PR target/54461
* config.host (tmake_file,host=avr-*-*): Add avr/t-avrlibc if
not configured --with-avrlibc=no.
* config/avr/t-avrlibc: New file.
* Makefile.in (FPBIT_FUNCS): filter-out LIB2FUNCS_EXCLUDE.
(DPBIT_FUNCS): Ditto.
(TPBIT_FUNCS): Ditto.

gcc/
PR target/54461
* config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
not configured --with-avrlibc=no.
(tm_defines,target=avr-*-*): Add WITH_AVRLIBC if not configured
--with-avrlibc=no.
* config/avr/avrlibc.h: New file.
* config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
not configured --with-avrlibc=no.
* doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190967 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago Add missed ChangeLog entry for r190919.
amker [Wed, 5 Sep 2012 07:44:25 +0000 (07:44 +0000)]
Add missed ChangeLog entry for r190919.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190965 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/54441
jason [Wed, 5 Sep 2012 04:17:12 +0000 (04:17 +0000)]
PR c++/54441
* decl.c (reshape_init_class): Handle invalid initializer for
0-length array member.

* error.c (dump_type_suffix): Correct handling of 0-length arrays.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190962 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/54420
jason [Wed, 5 Sep 2012 04:16:58 +0000 (04:16 +0000)]
PR c++/54420
* cp-tree.h (LAMBDANAME_P): Remove.
(LAMBDA_TYPE_P): Check CLASSTYPE_LAMBDA_EXPR instead.
* cp-lang.c (cxx_dwarf_name): Likewise.
* error.c (dump_aggr_type): Likewise.
* semantics.c (begin_lambda_type): Set CLASSTYPE_LAMBDA_EXPR sooner.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190961 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
drepper [Wed, 5 Sep 2012 04:06:24 +0000 (04:06 +0000)]
* include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
* include/ext/random.tccAdd out-of-line functions for
__gnu_cxx::normal_mv_distribution<>.
* testsuite/26_numerics/random/normal_mv_distribution/
operators/equal.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
operators/serialize.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
operators/inequal.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
cons/default.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
cons/parms.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
requirements/explicit_instantiation/1.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
requirements/typedefs.cc: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190960 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Wed, 5 Sep 2012 00:18:19 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190957 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * libstdc++-v3/include/ext/random: Add __gnu_cxx::beta_distribution<>
drepper [Tue, 4 Sep 2012 22:57:09 +0000 (22:57 +0000)]
* libstdc++-v3/include/ext/random: Add __gnu_cxx::beta_distribution<>
class.
* libstdc++-v3/include/ext/random.tcc: Add out-of-line functions for
__gnu_cxx::beta_distribution<>.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
operators/equal.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
operators/serialize.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
operators/inequal.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
cons/parms.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
cons/default.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
requirements/typedefs.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
requirements/explicit_instantiation/1.cc: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190954 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdding change log entries for r190952:
tejohnson [Tue, 4 Sep 2012 21:20:30 +0000 (21:20 +0000)]
Adding change log entries for r190952:

Enhances the gcov program summary by adding a histogram of arc counter
entries. This is used to compute working set information in the compiler
for use by optimizations that need information on hot vs cold counter
values or the rough working set size in terms of the number of counters.
Each working set data point is the minimum counter value and number of
counters required to reach a given percentage of the cumulative counter
sum across the profiled execution (sum_all in the program summary).

2012-09-04  Teresa Johnson  <tejohnson@google.com>

* libgcc/libgcov.c (struct gcov_summary_buffer): New structure.
(gcov_histogram_insert): New function.
(gcov_compute_histogram): Ditto.
(gcov_exit): Invoke gcov_compute_histogram, and perform merging of
histograms during summary merging.
* gcc/gcov-io.c (gcov_write_summary): Write out non-zero histogram
entries to function summary along with an occupancy bit vector.
(gcov_read_summary): Read in the histogram entries.
(gcov_histo_index): New function.
(void gcov_histogram_merge): Ditto.
* gcc/gcov-io.h (gcov_type_unsigned): New type.
(struct gcov_bucket_type): Ditto.
(struct gcov_ctr_summary): Include histogram.
(GCOV_TAG_SUMMARY_LENGTH): Update to include histogram entries.
(GCOV_HISTOGRAM_SIZE): New macro.
(GCOV_HISTOGRAM_BITVECTOR_SIZE): Ditto.
* gcc/profile.c (NUM_GCOV_WORKING_SETS): Ditto.
(gcov_working_sets): New global variable.
(compute_working_sets): New function.
(find_working_set): Ditto.
(get_exec_counts): Invoke compute_working_sets.
* gcc/coverage.c (read_counts_file): Merge histograms, and
fix bug with accessing summary info for non-summable counters.
* gcc/basic-block.h (gcov_type_unsigned): New type.
(struct gcov_working_set_info): Ditto.
(find_working_set): Declare.
* gcc/gcov-dump.c (tag_summary): Dump out histogram.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190953 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoEnhances the gcov program summary by adding a histogram of arc counter
tejohnson [Tue, 4 Sep 2012 21:16:18 +0000 (21:16 +0000)]
Enhances the gcov program summary by adding a histogram of arc counter
entries. This is used to compute working set information in the compiler
for use by optimizations that need information on hot vs cold counter
values or the rough working set size in terms of the number of counters.
Each working set data point is the minimum counter value and number of
counters required to reach a given percentage of the cumulative counter
sum across the profiled execution (sum_all in the program summary).

2012-09-04  Teresa Johnson  <tejohnson@google.com>

* libgcc/libgcov.c (struct gcov_summary_buffer): New structure.
(gcov_histogram_insert): New function.
(gcov_compute_histogram): Ditto.
(gcov_exit): Invoke gcov_compute_histogram, and perform merging of
histograms during summary merging.
* gcc/gcov-io.c (gcov_write_summary): Write out non-zero histogram
entries to function summary along with an occupancy bit vector.
(gcov_read_summary): Read in the histogram entries.
(gcov_histo_index): New function.
(void gcov_histogram_merge): Ditto.
* gcc/gcov-io.h (gcov_type_unsigned): New type.
(struct gcov_bucket_type): Ditto.
(struct gcov_ctr_summary): Include histogram.
(GCOV_TAG_SUMMARY_LENGTH): Update to include histogram entries.
(GCOV_HISTOGRAM_SIZE): New macro.
(GCOV_HISTOGRAM_BITVECTOR_SIZE): Ditto.
* gcc/profile.c (NUM_GCOV_WORKING_SETS): Ditto.
(gcov_working_sets): New global variable.
(compute_working_sets): New function.
(find_working_set): Ditto.
(get_exec_counts): Invoke compute_working_sets.
* gcc/coverage.c (read_counts_file): Merge histograms, and
fix bug with accessing summary info for non-summable counters.
* gcc/basic-block.h (gcov_type_unsigned): New type.
(struct gcov_working_set_info): Ditto.
(find_working_set): Declare.
* gcc/gcov-dump.c (tag_summary): Dump out histogram.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190952 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix bootstrap failure with clang++.
dnovillo [Tue, 4 Sep 2012 21:07:48 +0000 (21:07 +0000)]
Fix bootstrap failure with clang++.

This patch fixes a bootstrap failure when using clang as the host
compiler.  Default arguments for class template member functions
should be added in the declaration, not the definition.

From Jason:

> 8.3.6 says "Default arguments for a member function of a class template shall
> be specified on the initial declaration of the member function within the
> class template."

PR bootstrap/54484
* vec.h (vec_t::embedded_init): Move default argument value
to function declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190951 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/54198
jason [Tue, 4 Sep 2012 19:35:02 +0000 (19:35 +0000)]
PR c++/54198
* decl.c (check_default_argument): Set cp_unevaluated_operand
around call to perform_implicit_conversion_flags.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190949 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * bb-reorder.c (gate_handle_reorder_blocks): Move around.
ebotcazou [Tue, 4 Sep 2012 19:11:37 +0000 (19:11 +0000)]
* bb-reorder.c (gate_handle_reorder_blocks): Move around.
(rest_of_handle_reorder_blocks): Likewise.
(pass_reorder_blocks): Likewise.
(gate_handle_partition_blocks): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190948 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/54456
ebotcazou [Tue, 4 Sep 2012 19:05:38 +0000 (19:05 +0000)]
PR rtl-optimization/54456
* sched-rgn.c (gate_handle_sched): Return 1 only if optimize > 0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190947 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/54437
jason [Tue, 4 Sep 2012 18:49:51 +0000 (18:49 +0000)]
PR c++/54437
PR c++/51213
* pt.c (fn_type_unification): Call coerce_template_parms before
entering substitution context.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190946 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * configure.ac: Fix --enable-languages=all.
jason [Tue, 4 Sep 2012 18:49:41 +0000 (18:49 +0000)]
* configure.ac: Fix --enable-languages=all.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190945 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoThis patch works around a parsing problem with g++ 4.3. The parser is
dnovillo [Tue, 4 Sep 2012 18:33:29 +0000 (18:33 +0000)]
This patch works around a parsing problem with g++ 4.3.  The parser is
failing to lookup calls to the template function reserve when called
from other member functions:

vec_t<T>::reserve<A> (...)

The parser thinks that the '<' in reserve<A> is a less-than operation.
This problem does not happen after 4.3.

This code is going to change significantly, so this won't be needed
soon.

Tested on x86_64 with g++ 4.3 and g++ 4.6.

PR bootstrap/54478
* vec.h (vec_t::alloc): Remove explicit type specification
in call to reserve.
(vec_t::copy): Likewise.
(vec_t::reserve): Likewise.
(vec_t::reserve_exact): Likewise.
(vec_t::safe_splice): Likewise.
(vec_t::safe_push): Likewise.
(vec_t::safe_grow): Likewise.
(vec_t::safe_grow_cleared): Likewise.
(vec_t::safe_insert): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190943 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago* alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
rth [Tue, 4 Sep 2012 18:16:24 +0000 (18:16 +0000)]
* alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190941 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR bootstrap/54453
steven [Tue, 4 Sep 2012 15:28:39 +0000 (15:28 +0000)]
PR bootstrap/54453
* include/Makefile.am: Fix regex.
* include/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190939 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-04 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 4 Sep 2012 15:25:38 +0000 (15:25 +0000)]
2012-09-04  Richard Guenther  <rguenther@suse.de>

* tree-ssa-pre.c (value_expressions): Make it a vector of
bitmaps containing expression IDs.
(add_to_value): Adjust.
(sorted_array_from_bitmap_set): Likewise.
(bitmap_set_replace_value): Likewise.
(print_value_expressions): Likewise.
(get_constant_for_value_id): Likewise.
(get_representative_for): Likewise.
(phi_translate_1): Likewise.
(bitmap_find_leader): Likewise.
(find_or_generate_expression): Likewise.
(do_regular_insertion): Likewise.
(init_pre): Likewise.
(fini_pre): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190938 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR bootstrap/54479
dnovillo [Tue, 4 Sep 2012 15:16:51 +0000 (15:16 +0000)]
PR bootstrap/54479
* vec.h (vec_t::copy): Add cast in call to reserve_exact.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190937 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * make_sunver.pl: Add missing newline at the end of extern "C++" block.
ebotcazou [Tue, 4 Sep 2012 13:56:06 +0000 (13:56 +0000)]
* make_sunver.pl: Add missing newline at the end of extern "C++" block.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190932 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-04 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 4 Sep 2012 13:26:25 +0000 (13:26 +0000)]
2012-09-04  Richard Guenther  <rguenther@suse.de>

* tree-ssa-pre.c (add_to_exp_gen): Adjust.
(make_values_for_phi): Do not add to PHI_GEN for FRE.
(compute_avail): Stop processing after adding all defs to
AVAIL_OUT for FRE.
(init_pre): Do not allocate not needed bitmap sets for FRE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190930 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.
dnovillo [Tue, 4 Sep 2012 13:23:10 +0000 (13:23 +0000)]
* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190929 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-04 Christophe Lyon <christophe.lyon@st.com>
clyon [Tue, 4 Sep 2012 13:22:55 +0000 (13:22 +0000)]
2012-09-04  Christophe Lyon  <christophe.lyon@st.com>

* MAINTAINERS (Write After Approval): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190928 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoMake all VEC_* functions, member functions of vec_t.
dnovillo [Tue, 4 Sep 2012 13:22:54 +0000 (13:22 +0000)]
Make all VEC_* functions, member functions of vec_t.

This patch is the first step towards making the API for VEC use
member functions.

There are no user code modifications in this patch.  Everything
is still using the VEC_* macros, but this time they expand into
member function calls.

Because of the way VECs are used, this required some trickery.
The API allows VECs to be NULL.  This means that services like
VEC_length(V) will return 0 when V is a NULL pointer.  This is,
of course, not possible to do if we call V->length().

For functions that either need to allocate/re-allocate the
vector, or they need to handle NULL vectors, I implemented them
as static member functions or free functions.

Another wart that I did not address in this patch is the fact
that vectors of pointers and vectors of objects have slightly
different semantics when handling elements in the vector.  In
vector of pointers, we pass them around by value, but in vectors
of objects, they are passed around via pointers.  That's why we
need TYPE * and TYPE ** overloads for some functions (e.g.,
vec_t::iterate).

I will fix these two warts in a subsequent patch.  The idea is to
make vec_t a single-word structure, which acts as a handler for
the structure containing the actual vector.  Something like this:

template<typename T>
struct vec_t
{
  struct vec_internal<T> *vec_;
};

This has the advantage that we can now declare the actual vector
instances as regular variables, instead of pointers.  They will
use the same amount of memory when embedded in other structures,
and we will be able to allocate and reallocate the actual data
without having to mutate the vector instance.

All the functions that are now static members in vec_t, will
become instance members in the new vec_t.  This will mean that
all the callers will need to be changed, of course.

Tested on x86_64 and ppc64 with all languages plus ada, go and obj-c++.

Rewrite VEC_* functions as member functions of vec_t.

* vec.h: Update documentation.
(ALONE_VEC_CHECK_INFO): Define.
(ALONE_VEC_CHECK_DECL): Define.
(ALONE_VEC_CHECK_PASS): Define.
(struct vec_prefix): Rename field NUM to NUM_.
Rename field ALLOC to ALLOC_.
Update all users.
(struct vec_t): Rename field PREFIX to PREFIX_.
Rename field VEC to VEC_.
Update all users.
(vec_t::length): Rename from VEC_length_1.  Update all users.
(vec_t::empty): Rename from VEC_empty_1.  Update all users.
(vec_t::address): Rename from VEC_address_1.  Update all users.
(vec_address): New.
(vec_t::last): Rename from VEC_last_1.  Update all users.
(vec_t::operator[]): Rename from VEC_index_1.  Update all users.
(vec_t::iterate): Rename from VEC_iterate_1.  Update all users.
(vec_t::embedded_size): Rename from VEC_embedded_size_1.
Update all users.
(vec_t::embedded_init): Rename from VEC_embedded_init_1.
Update all users.
(vec_t::alloc): Rename from VEC_alloc_1.  Update all users.
(vec_t::free): Rename from VEC_free_1.  Update all users.
(vec_t::copy): Rename from VEC_copy_1.  Update all users.
(vec_t::space): Rename from VEC_space_1.  Update all users.
(vec_t::reserve): Rename from VEC_reserve_1.  Update all users.
(vec_t::reserve_exact): Rename from VEC_reserve_exact_1.
Update all users.
(vec_t::splice): Rename from VEC_splice_1.  Update all users.
(vec_t::safe_splice): Rename from VEC_safe_splice_1.  Update all users.
(vec_t::quick_push): Rename from VEC_quick_push_1.  Update all users.
(vec_t::safe_push): Rename from VEC_safe_push_1.  Update all users.
(vec_t::pop): Rename from VEC_pop_1.  Update all users.
(vec_t::truncate): Rename from VEC_truncate_1.  Update all users.
(vec_t::safe_grow): Rename from VEC_safe_grow_1.  Update all users.
(vec_t::safe_grow_cleared): Rename from VEC_safe_grow_cleared_1.
Update all users.
(vec_t::replace): Rename from VEC_replace_1.  Update all users.
(vec_t::quick_insert): Rename from VEC_quick_insert_1.
Update all users.
(vec_t::safe_insert): Rename from VEC_safe_insert_1.  Update all users.
(vec_t::ordered_remove): Rename from VEC_ordered_remove_1.
Update all users.
(vec_t::unordered_remove): Rename from VEC_unordered_remove_1.
Update all users.
(vec_t::block_remove): Rename from VEC_block_remove_1. Update all users.
(vec_t::lower_bound): Rename from VEC_lower_bound_1. Update all users.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190927 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gimple.h (gimple_build_switch): Remove.
steven [Tue, 4 Sep 2012 13:03:02 +0000 (13:03 +0000)]
* gimple.h (gimple_build_switch): Remove.
(gimple_build_switch_vec): Promote to the new gimple_build_switch.
(gimple_switch_default_label): Assert the default case label is
really a default case label.
(gimple_switch_set_default_label): Likewise.
* gimple.c (gimple_build_switch_nlabels): Make sure a default label
is passed in, and simplify accordingly.
(gimple_build_switch): Removed.
(gimple_build_switch_vec): Rename to gimple_build_switch.
* gimplify.c (gimplify_switch_expr): Update gimple_build_switch use.
* gimple-pretty-print.c (dump_gimple_switch): Do not accept a NULL
case label.
* stmt.c (expand_case): Simplify using the fact that every GIMPLE
switch must have a default case.
* tree-cfg.c (group_case_labels_stmt): Likewise.
(verify_gimple_switch): Use gimple_switch_label in verifier to get
the label at index 0, and verify that it is a valid default case.
* except.c (sjlj_emit_dispatch_table): Rewrite construction of the
switch for dispatching.
* tree-eh.c (lower_try_finally_switch): Update gimple_build_switch use.
(lower_eh_dispatch): Likewise.
* tree-vrp.c (execute_vrp): Use gimple_switch_label to get the case
label at index 0 before turning it into a default case label.
* omp-low.c (expand_omp_sections): Update gimple_build_switch use.
* tree-switch-conversion.c (emit_case_bit_tests): Get the default case
label using gimple_switch_default_label.
(collect_switch_conv_info): Likewise.
(process_switch): Likewise.
* doc/gimple.texi: Update documentation of gimple_build_switch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190925 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54476
gjl [Tue, 4 Sep 2012 09:37:08 +0000 (09:37 +0000)]
PR target/54476
* config/avr/avr.c (avr_expand_delay_cycles): Mask operand with
SImode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190920 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/45070
amker [Tue, 4 Sep 2012 09:36:44 +0000 (09:36 +0000)]
PR target/45070
* config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value of size
less than 4 bytes by using macro ARM_NUM_INTS.
(thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190919 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-04 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 4 Sep 2012 09:28:58 +0000 (09:28 +0000)]
2012-09-04  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54458
* tree-ssa-threadupdate.c (thread_through_loop_header): If we
turn the loop into one with multiple latches mark it so.

* gcc.dg/torture/pr54458.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190918 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54220
gjl [Tue, 4 Sep 2012 09:08:50 +0000 (09:08 +0000)]
PR target/54220
* config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
define to...
(avr_allocate_stack_slots_for_args): ...this new static function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190914 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-04 Christophe Lyon <christophe.lyon@linaro.org>
clyon [Tue, 4 Sep 2012 08:35:19 +0000 (08:35 +0000)]
2012-09-04  Christophe Lyon  <christophe.lyon@linaro.org>

* config/arm/arm.c (arm_expand_builtin): Replace gen_rtx_CONST_INT
by GEN_INT.
(arm_emit_coreregs_64bit_shift): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190912 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-04 Christophe Lyon <christophe.lyon@linaro.org>
clyon [Tue, 4 Sep 2012 08:32:39 +0000 (08:32 +0000)]
2012-09-04  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/
* config/arm/arm.c (arm_evpc_neon_vext): New
function.
(arm_expand_vec_perm_const_1): Add call to
arm_evpc_neon_vext.

gcc/testsuite/
* gcc.target/arm/neon-vext.c: New test.
* gcc.target/arm/neon-vext-execute.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190911 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-04 Janus Weil <janus@gcc.gnu.org>
janus [Tue, 4 Sep 2012 08:03:09 +0000 (08:03 +0000)]
2012-09-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54435
PR fortran/54443
* match.c (gfc_match_select_type): Make sure to only access CLASS_DATA
for BT_CLASS.

2012-09-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54243
PR fortran/54244
* gfortran.dg/select_type_29.f03: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190910 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/51244
olegendo [Tue, 4 Sep 2012 08:03:01 +0000 (08:03 +0000)]
PR target/51244
* config/sh/sh.c (prepare_cbranch_operands): Pull out comparison
canonicalization code into...
* (sh_canonicalize_comparison): This new function.
* config/sh/sh-protos.h: Declare it.
* config/sh/sh.h: Use it in new macro CANONICALIZE_COMPARISON.
* config/sh/sh.md (cbranchsi4): Remove TARGET_CBRANCHDI4 check and
always invoke expand_cbranchsi4.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190909 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Tue, 4 Sep 2012 00:18:16 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190908 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix bootstrap-lto
ak [Mon, 3 Sep 2012 22:00:13 +0000 (22:00 +0000)]
Fix bootstrap-lto

gcc/

2012-09-03  Andi Kleen <ak@linux.intel.com>

* tree-ssa-sccvn.c (vn_reference_fold_indirect): Initialize
addr_offset always.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190905 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-03 Andrew Pinski <apinski@cavium.com>
pinskia [Mon, 3 Sep 2012 20:31:52 +0000 (20:31 +0000)]
2012-09-03  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/53395
* tree-if-conv.c (constant_or_ssa_name): New function.
(fold_build_cond_expr): New function.
(predicate_scalar_phi): Use fold_build_cond_expr instead of build3.
(predicate_mem_writes): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190904 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-03 Marc Glisse <marc.glisse@inria.fr>
glisse [Mon, 3 Sep 2012 17:31:38 +0000 (17:31 +0000)]
2012-09-03  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* fold-const.c (fold_ternary_loc): Constant-propagate after
removing dead operands.

gcc/testsuite/
* gcc.dg/fold-perm.c: Improve test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190901 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR tree-optimization/46590
matz [Mon, 3 Sep 2012 15:39:15 +0000 (15:39 +0000)]
PR tree-optimization/46590
* tree-cfg.c (gimple_duplicate_sese_region): Don't update
SSA web here ...
* tree-ssa-loop-ch.c (copy_loop_headers): ... but here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190897 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-03 Sandra Loosemore <sandra@codesourcery.com>
sandra [Mon, 3 Sep 2012 15:29:22 +0000 (15:29 +0000)]
2012-09-03  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/invoke.texi: Fix numerous typos and punctuation/grammatical
errors throughout the file.  Re-word some awkward sentences and
paragraphs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190896 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-03 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 3 Sep 2012 14:40:17 +0000 (14:40 +0000)]
2012-09-03  Richard Guenther  <rguenther@suse.de>

PR bootstrap/54138
* configure.ac: Re-organize ISL / CLOOG checks to allow
disabling with either --without-isl or --without-cloog.
* configure: Regenerated.
* config/cloog.m4: Adjust.
* config/isl.m4: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190895 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-03 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 3 Sep 2012 14:06:27 +0000 (14:06 +0000)]
2012-09-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54467
        * class.c (gfc_find_derived_vtab): Fix disabling of _final
        by continuing to generate normal type-bound procedures.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190892 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-03 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 3 Sep 2012 13:24:07 +0000 (13:24 +0000)]
2012-09-03  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54362
* tree-ssa-structalias.c (find_func_aliases): Handle COND_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190889 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * configure.ac (noconfigdirs,target=avr): Add target-libquadmath.
gjl [Mon, 3 Sep 2012 12:10:40 +0000 (12:10 +0000)]
* configure.ac (noconfigdirs,target=avr): Add target-libquadmath.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190887 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Mon, 3 Sep 2012 11:46:56 +0000 (11:46 +0000)]
2012-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_loadrelative_operand_p): New function.
(s390_check_qrst_address, print_operand_address): Use
s390_loadrelative_operand_p instead of s390_symref_operand_p.
(s390_check_symref_alignment): Accept pointer size alignment for GOT slots.
(legitimize_pic_address): Use load relative on z10 or later.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190884 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR debug/53923
jakub [Mon, 3 Sep 2012 11:42:31 +0000 (11:42 +0000)]
PR debug/53923
* valtrack.c (dead_debug_insert_temp): Drop non-reg uses
from the chain.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190883 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * common.opt (--no-sysroot-suffix): New driver option.
jsm28 [Mon, 3 Sep 2012 11:34:22 +0000 (11:34 +0000)]
* common.opt (--no-sysroot-suffix): New driver option.
* doc/invoke.texi (--no-sysroot-suffix): Document.
* gcc.c (driver_handle_option): Handle --no-sysroot-suffix as not
needing spec processing.
(main): Do not process sysroot suffixes if no_sysroot_suffix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190882 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-03 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 3 Sep 2012 07:51:05 +0000 (07:51 +0000)]
2012-09-03  Tobias Burnus  <burnus@net-b.de>

        * class.c (gfc_find_derived_vtab): Disable ABI-breaking
        generation of the "_final" subroutine for now.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190872 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-03 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 3 Sep 2012 06:45:35 +0000 (06:45 +0000)]
2012-09-03  Tobias Burnus  <burnus@net-b.de>

        * class.c (finalize_component): Fixes to the comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190870 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-03 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
burnus [Mon, 3 Sep 2012 06:35:59 +0000 (06:35 +0000)]
2012-09-03  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/37336
        * gfortran.h (symbol_attribute): Add artificial.
        * module.c (mio_symbol_attribute): Handle attr.artificial
        * class.c (gfc_build_class_symbol): Defer creation of the vtab
        if the DT has finalizers, mark generated symbols as
        attr.artificial.
        (has_finalizer_component, finalize_component,
        finalization_scalarizer, generate_finalization_wrapper):
        New static functions.
        (gfc_find_derived_vtab): Add _final component and call
        generate_finalization_wrapper.
        * dump-parse-tree.c (show_f2k_derived): Use resolved
        proc_tree->n.sym rather than unresolved proc_sym.
        (show_attr): Handle attr.artificial.
        * resolve.c (gfc_resolve_finalizers): Ensure that the vtab
        * exists.
        (resolve_fl_derived): Resolve finalizers before
        generating the vtab.
        (resolve_symbol): Also allow assumed-rank arrays with CONTIGUOUS;
        skip artificial symbols.
        (resolve_fl_derived0): Skip artificial symbols.

2012-09-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51632
        * gfortran.dg/coarray_class_1.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190869 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Mon, 3 Sep 2012 00:17:29 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190868 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/33135
olegendo [Sun, 2 Sep 2012 23:18:08 +0000 (23:18 +0000)]
PR target/33135
* common/config/sh/sh-common.c: Update copyright years.
(sh_option_init_struct): Delete.
(TARGET_OPTION_INIT_STRUCT): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190865 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54418
olegendo [Sun, 2 Sep 2012 23:15:25 +0000 (23:15 +0000)]
PR target/54418
* config/sh/sh.md (cmpgeusi_t): Remove N alternative.
Check operands[1] in split condition instead of operands[0].
Add comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190864 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agolibgcc/
gerald [Sun, 2 Sep 2012 14:13:21 +0000 (14:13 +0000)]
libgcc/

* config.host (x86_64-*-openbsd*): New target.

gcc/

* config.gcc (x86_64-*-openbsd*): New target.
* config.host (*-*-openbsd*): New target.
* config/openbsd.h (TARGET_C99_FUNCTIONS): Define.
* config/i386/openbsdelf.h: Remove some superfluous defines and
group things together in a more logical fashion.
(DBX_REGISTER_NUMBER): Provide a
definition that works on both 32-bit and 64-bit targets.
(WCHAR_TYPE_SIZE): Hardcode as 32.
(NO_DOLLAR_IN_LABEL): Remove undef.
(TARGET_DEFAULT): Remove.
(SET_ASM_OP): Remove.
(DEFAULT_PCC_STRUCT_RETURN): Undef first to prevent warning.
(ASM_OUTPUT_MAX_SKIP_ALIGN): Synch with x86-64.h
(DWARF2_UNWIND_INFO): Remove define.
(HAVE_ENABLE_EXECUTE_STACK): Define.
* config/host-openbsd.c: New file.
* config/t-openbsd (USER_H): Add EXTRA_HEADERS.
* config/x-openbsd: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190863 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/sh/sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated
olegendo [Sun, 2 Sep 2012 13:05:10 +0000 (13:05 +0000)]
* config/sh/sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated
mode to sh_legitimate_index_p instead of QImode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190862 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
uros [Sun, 2 Sep 2012 11:08:33 +0000 (11:08 +0000)]
* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
Improve insn output code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190861 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR rtl-optimization/54369
ebotcazou [Sun, 2 Sep 2012 10:36:27 +0000 (10:36 +0000)]
PR rtl-optimization/54369
* config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
calling dbr_schedule.
* config/sparc/sparc.c (sparc_reorg): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190858 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/49206
uros [Sun, 2 Sep 2012 08:49:31 +0000 (08:49 +0000)]
PR target/49206
* gcc.c-torture/compile/pr49206.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190857 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.c-torture/compile/pr44687.c: Fix whitespace.
uros [Sun, 2 Sep 2012 08:42:45 +0000 (08:42 +0000)]
* gcc.c-torture/compile/pr44687.c: Fix whitespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190856 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/36680
uros [Sun, 2 Sep 2012 08:10:21 +0000 (08:10 +0000)]
PR target/36680
* gfortran.dg/pr36680.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190855 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/42295
uros [Sun, 2 Sep 2012 07:07:45 +0000 (07:07 +0000)]
PR target/42295
* g++.dg/opt/pr42295.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190854 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-02 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 2 Sep 2012 06:40:27 +0000 (06:40 +0000)]
2012-09-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54426
        * symbol.c (find_common_symtree): New function.
        (gfc_undo_symbols): Use it; free common_head if needed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190853 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sun, 2 Sep 2012 00:17:49 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190852 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/54436
jakub [Sat, 1 Sep 2012 19:09:02 +0000 (19:09 +0000)]
PR target/54436
* config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
operands[1] is CONST_INT_P, convert it to QImode before printing.

* gcc.dg/torture/pr54436.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190849 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-09-01 Andrew Pinski <apinski@cavium.com>
pinskia [Sat, 1 Sep 2012 18:52:19 +0000 (18:52 +0000)]
2012-09-01  Andrew Pinski  <apinski@cavium.com>

* simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
A truncate of a memory is just loading the low part of the memory.

2012-09-01  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/mips/truncate-8.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190848 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/46829
uros [Sat, 1 Sep 2012 14:29:45 +0000 (14:29 +0000)]
PR target/46829
PR target/46843
* config/i386/i386.c (ix86_legitimate_combined_insn): New function.
(TARGET_LEGITIMATE_COMBINED_INSN): New macro.

testsuite/ChangeLog:

PR target/46829
PR target/46843
* gcc.target/i386/pr46829.c: New test.
* gcc.target/i386/pr46843.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190847 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * target.def (legitimate_combined_insn): New target hook.
uros [Sat, 1 Sep 2012 14:26:28 +0000 (14:26 +0000)]
* target.def (legitimate_combined_insn): New target hook.
* doc/tm.texi.in (TARGET_LEGITIMATE_COMBINED_INSN): New hook.
* doc/tm.texi: Regenerated.
* combine.c (recog_for_combine): Call targetm.legitimate_combined_insn
to allow targets to reject combined insn.
* hooks.h (hook_bool_rtx_true): New.
* hooks.c (hook_bool_rtx_true): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190846 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sat, 1 Sep 2012 00:17:53 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190845 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/18747
jason [Fri, 31 Aug 2012 21:35:33 +0000 (21:35 +0000)]
PR c++/18747
* pt.c (check_template_variable): New.
(num_template_headers_for_class): Split out...
* decl.c (grokdeclarator): ...from here.
(start_decl): Remove redundant diagnostic.
* cp-tree.h: Declare them
* parser.c (cp_parser_single_declaration): Call check_template_variable.
.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190842 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-31 Martin Jambor <mjambor@suse.cz>
jamborm [Fri, 31 Aug 2012 19:16:21 +0000 (19:16 +0000)]
2012-08-31  Martin Jambor  <mjambor@suse.cz>

* ipa-inline-analysis.c (estimate_function_body_sizes): Allocate
nonconstant_names after calculate_dominance_info and
loop_optimizer_init.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190841 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c/54428
jakub [Fri, 31 Aug 2012 19:00:59 +0000 (19:00 +0000)]
PR c/54428
* c-convert.c (convert): Don't call fold_convert_loc if
TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
COMPLEX_TYPE -> COMPLEX_TYPE conversion.

* gcc.c-torture/compile/pr54428.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190840 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
gretay [Fri, 31 Aug 2012 16:42:21 +0000 (16:42 +0000)]
gcc/

2012-08-31  Greta Yorsh  <Greta.Yorsh@arm.com>

        * config/arm/arm.c (arm_expand_epilogue): Remove unused variable
        floats_from_frame.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190838 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-31 Ollie Wild <aaw@google.com>
aaw [Fri, 31 Aug 2012 15:47:29 +0000 (15:47 +0000)]
2012-08-31  Ollie Wild  <aaw@google.com>

PR c++/54197
* gcc/cp/call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
* gcc/testsuite/g++.dg/init/lifetime3.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190834 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-31 Martin Jambor <mjambor@suse.cz>
jamborm [Fri, 31 Aug 2012 14:05:45 +0000 (14:05 +0000)]
2012-08-31  Martin Jambor  <mjambor@suse.cz>

PR middle-end/54409
* ipa-inline-analysis.c (remap_predicate): Fix the offset_map
checking condition.

* gcc/testsuite/gcc.dg/torture/pr54409.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190833 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-31 Martin Jambor <mjambor@suse.cz>
jamborm [Fri, 31 Aug 2012 13:48:37 +0000 (13:48 +0000)]
2012-08-31  Martin Jambor  <mjambor@suse.cz>

* ipa-inline-analysis.c (phi_result_unknown_predicate): New function.
(predicate_for_phi_result): Likewise.
(estimate_function_body_sizes): Use the above two functions.

* testsuite/gfortran.dg/pr48636.f90: Add dump scan checks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190832 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-31 Martin Jambor <mjambor@suse.cz>
jamborm [Fri, 31 Aug 2012 13:13:03 +0000 (13:13 +0000)]
2012-08-31  Martin Jambor  <mjambor@suse.cz>

PR middle-end/54394
* ipa-inline-analysis.c (estimate_function_body_sizes): Compute
dominance info and loops whenever optimizing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190831 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/50545
jason [Fri, 31 Aug 2012 02:50:28 +0000 (02:50 +0000)]
PR c++/50545
PR c++/51222
* pt.c (instantiation_dependent_r): New.
(instantiation_dependent_expression_p): New.
(value_dependent_expression_p): Use it.  SCOPE_REF is always dependent.
* semantics.c (finish_decltype_type): Use it.
* cp-tree.h: Declare it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190830 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * semantics.c (finish_qualified_id_expr): Handle building up a
jason [Fri, 31 Aug 2012 02:50:18 +0000 (02:50 +0000)]
* semantics.c (finish_qualified_id_expr): Handle building up a
non-dependent SCOPE_REF here.
(finish_id_expression): Not here.
* error.c (dump_decl) [SCOPE_REF]: Only pass TFF_UNQUALIFIED_NAME.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190829 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * friend.c (make_friend_class): Handle template template parameters.
jason [Fri, 31 Aug 2012 02:50:08 +0000 (02:50 +0000)]
* friend.c (make_friend_class): Handle template template parameters.
* parser.c (cp_parser_template_declaration_after_export): Likewise.
* pt.c (tsubst_friend_class): Likewise.
(instantiate_class_template_1): Likewise
* decl.c (check_elaborated_type_specifier): Likewise.
(lookup_and_check_tag): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190828 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * pt.c (get_class_bindings): Call coerce_template_parms. Add
jason [Fri, 31 Aug 2012 02:49:52 +0000 (02:49 +0000)]
* pt.c (get_class_bindings): Call coerce_template_parms.  Add
main_tmpl parameter.
(more_specialized_class): Add main_tmpl parameter.
(most_specialized_class): Adjust calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190827 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * decl.c (cp_finish_decl): Check for invalid multiple initializers
jason [Fri, 31 Aug 2012 02:49:42 +0000 (02:49 +0000)]
* decl.c (cp_finish_decl): Check for invalid multiple initializers
even if the initializer is dependent.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190826 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * pt.c (instantiate_template_1): Keep processing_template_decl set
jason [Fri, 31 Aug 2012 02:49:33 +0000 (02:49 +0000)]
* pt.c (instantiate_template_1): Keep processing_template_decl set
if there are dependent args.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190825 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Fri, 31 Aug 2012 00:18:02 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190822 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoChangeLog fixup
bkoz [Thu, 30 Aug 2012 19:25:04 +0000 (19:25 +0000)]
ChangeLog fixup

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190811 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-30 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 30 Aug 2012 19:24:58 +0000 (19:24 +0000)]
2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/54005 continued
* include/std/atomic: Use __atomic_lock_free with
* include/bits/atomic_base.h: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190810 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * include/bits/random.h (random_device) [GLIBCXX_USE_RANDOM_TR1]:
drepper [Thu, 30 Aug 2012 16:33:09 +0000 (16:33 +0000)]
* include/bits/random.h (random_device) [GLIBCXX_USE_RANDOM_TR1]:
Remove 'return' from constructor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190806 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2012-08-30 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 30 Aug 2012 15:58:52 +0000 (15:58 +0000)]
2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190805 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix PR target/54252
ramana [Thu, 30 Aug 2012 10:17:04 +0000 (10:17 +0000)]
Fix PR target/54252

2012-08-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Richard Earnshaw  <richard.earnshaw@arm.com>

PR target/54252
* config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
element size. Use elem_type from the formal parameter. New parameter
fcode.
(neon_expand_args): Adjust call to neon_dereference_pointer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190800 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoMissing CL entry
drepper [Thu, 30 Aug 2012 02:21:12 +0000 (02:21 +0000)]
Missing CL entry

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190796 138bc75d-0d04-0410-961f-82ee72b054a4