gcc.git
9 years agoAdd missed testcase for 223215.
Ilya Enkovich [Fri, 15 May 2015 09:49:25 +0000 (09:49 +0000)]
Add missed testcase for 223215.

From-SVN: r223217

9 years agoipa-chkp.h (chkp_wrap_function): New.
Ilya Enkovich [Fri, 15 May 2015 09:48:13 +0000 (09:48 +0000)]
ipa-chkp.h (chkp_wrap_function): New.

gcc/

* ipa-chkp.h (chkp_wrap_function): New.
* ipa-chkp.c (chkp_wrap_function): Remove 'static'.
(chkp_wrap_function_name): New.
(chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
to get wrapper name.
* lto-cgraph.c: Include ipa-chkp.h.
(input_cgraph_1): Avoid alias chain for wrappers.

gcc/testsuite/

* gcc.dg/lto/chkp-wrap-asm-name_0.c: New.

From-SVN: r223216

9 years agore PR middle-end/66134 ([CHKP] ICE: Unable to coalesce ssa_names 18 and 17 which...
Ilya Enkovich [Fri, 15 May 2015 09:38:44 +0000 (09:38 +0000)]
re PR middle-end/66134 ([CHKP] ICE: Unable to coalesce ssa_names 18 and 17 which are marked as MUST COALESCE)

gcc/

PR middle-end/66134
* tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
(chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.

gcc/testsuite/

PR middle-end/66134
* gcc.target/i386/mpx/pr66134.c: New test.

From-SVN: r223215

9 years ago[AArch64] Removed unused SLOWMUL target flags
Kyrylo Tkachov [Fri, 15 May 2015 08:47:18 +0000 (08:47 +0000)]
[AArch64] Removed unused SLOWMUL target flags

* config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
(AARCH64_FL_SLOWMUL): Delete.
(AARCH64_FL_CRC): Redefine to 1<<3.
(AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.

From-SVN: r223214

9 years agoApply arm.h change for previous commit.
Ramana Radhakrishnan [Fri, 15 May 2015 08:47:06 +0000 (08:47 +0000)]
Apply arm.h change for previous commit.

2015-05-15  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
casting.

From-SVN: r223213

9 years agoFix up bootstrap and fix typo in related changelog entry.
Ramana Radhakrishnan [Fri, 15 May 2015 08:43:13 +0000 (08:43 +0000)]
Fix up bootstrap and fix typo in related changelog entry.

2015-05-15  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
casting.

From-SVN: r223212

9 years agoalpha.md (extendqidi2): Use general_operand instead of some_operand for operand[1...
Uros Bizjak [Fri, 15 May 2015 05:04:32 +0000 (07:04 +0200)]
alpha.md (extendqidi2): Use general_operand instead of some_operand for operand[1] predicate.

* config/alpha/alpha.md (extendqidi2): Use general_operand
instead of some_operand for operand[1] predicate.
(extendhidi2): Ditto.
(cbranchdi4): Use general_operand instead of some_operand
for operand[1] and operands[2] predicates.
(cstoredi4): Ditto.
* config/alpha/predicates.md (some_operand): Remove unused predicate.
(some_ni_operand): Ditto.

From-SVN: r223211

9 years agoalpha.c (alpha_extract_integer): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
Uros Bizjak [Fri, 15 May 2015 05:02:17 +0000 (07:02 +0200)]
alpha.c (alpha_extract_integer): Do not handle CONST_WIDE_INT and CONST_DOUBLE.

* config/alpha/alpha.c (alpha_extract_integer): Do not handle
CONST_WIDE_INT and CONST_DOUBLE.  Assert CONST_INT_P (x).
(alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
low part of the constant using alpha_emit_set_const_1.
(alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.

From-SVN: r223210

9 years agovarasm.c (output_constant_pool_1): Pass down alignment from constant pool entry's...
Rohit Arul Raj [Fri, 15 May 2015 04:58:27 +0000 (22:58 -0600)]
varasm.c (output_constant_pool_1): Pass down alignment from constant pool entry's descriptor to output_constant_pool_2.

2015-05-14  Rohit Arul Raj  <rohitrulraj@freescale.com>

* varasm.c (output_constant_pool_1): Pass down alignment from
constant pool entry's descriptor to output_constant_pool_2.
(output_object_block): Add comment prior to call to
output_constant_pool_1.

* gcc.target/powerpc/pr60158.c: New test.

From-SVN: r223209

9 years agoDaily bump.
GCC Administrator [Fri, 15 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r223208

9 years agore PR rtl-optimization/65862 ([MIPS] IRA/LRA issue: integers spilled to floating...
Vladimir Makarov [Thu, 14 May 2015 20:40:44 +0000 (20:40 +0000)]
re PR rtl-optimization/65862 ([MIPS] IRA/LRA issue: integers spilled to floating-point registers)

2015-05-14  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/65862
* target.def (ira_change_pseudo_allocno_class): New hook.
* targhooks.c (default_ira_change_pseudo_allocno_class): Default
value of the hook.
* targhooks.h (default_ira_change_pseudo_allocno_class): New
extern
* doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
hook.
* ira-costs.c (find_costs_and_classes): Call the hook and change
classes when it is necessary.
* doc/tm.texi: Update.

From-SVN: r223202

9 years agoi386.md (sibcall_memory): Check that register with callee address is not also used...
Alexander Monakov [Thu, 14 May 2015 17:43:28 +0000 (20:43 +0300)]
i386.md (sibcall_memory): Check that register with callee address is not also used as one of the arguments...

* config/i386/i386.md (sibcall_memory): Check that register with
callee address is not also used as one of the arguments, instead
of checking that it is not live after the sibcall.
(sibcall_pop_memory): Ditto.
(sibcall_value_memory): Ditto.
(sibcall_value_pop_memory): Ditto.
testsuite:
* gcc.target/i386/sibcall-7.c: New test.
* gcc.target/i386/sibcall-8.c: New test.

From-SVN: r223201

9 years agogeneric-match-head.c (types_match): Handle non-types.
Marc Glisse [Thu, 14 May 2015 14:45:33 +0000 (16:45 +0200)]
generic-match-head.c (types_match): Handle non-types.

2015-05-14  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* generic-match-head.c (types_match): Handle non-types.
* gimple-match-head.c (types_match): Likewise.
* match.pd: Remove unnecessary TREE_TYPE for types_match.

From-SVN: r223199

9 years agore PR libstdc++/66055 (hash containers missing required reserving constructors)
Nathan Myers [Thu, 14 May 2015 13:47:19 +0000 (13:47 +0000)]
re PR libstdc++/66055 (hash containers missing required reserving constructors)

2015-05-14  Nathan Myers  <ncm@cantrip.org>
    Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/66055
* include/std/unordered_map (unordered_map, unordered_multimap): Add
missing constructors.
* include/std/unordered_set (unordered_set, unordered_multiset):
Likewise.
* testsuite/23_containers/unordered_map/cons/66055.cc: New.
* testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
* testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
* testsuite/23_containers/unordered_set/cons/66055.cc: New.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r223198

9 years ago[AArch64] Use conditional negate for abs
Wilco Dijkstra [Thu, 14 May 2015 13:35:30 +0000 (13:35 +0000)]
[AArch64] Use conditional negate for abs

2015-05-14  Wilco Dijkstra  <wdijkstr@arm.com>

      gcc/
* config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
(csneg3<mode>_insn): Enable expansion of pattern.

      gcc/testsuite/
* gcc.target/aarch64/abs_1.c (abs64): Update test for new abs expansion.
(abs64_in_dreg): Likewise.

From-SVN: r223197

9 years agore PR libstdc++/66011 (call to '__open_missing_mode' declared with attribute error)
Jonathan Wakely [Thu, 14 May 2015 13:23:14 +0000 (14:23 +0100)]
re PR libstdc++/66011 (call to '__open_missing_mode' declared with attribute error)

PR libstdc++/66011
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
sendfile.
* config.h.in: Regenerate.
* configure: Regenerate.
* src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
not return after copying contents. Use fchmod, fchmodat, and sendfile
when available.
(current_path, permissions, space): Use errno not return value.

From-SVN: r223196

9 years agore PR libstdc++/66018 (opendir configure test not working when GCC_NO_EXECUTABLES)
Jonathan Wakely [Thu, 14 May 2015 11:47:19 +0000 (12:47 +0100)]
re PR libstdc++/66018 (opendir configure test not working when GCC_NO_EXECUTABLES)

PR libstdc++/66018
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
dirent.d_type.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.

From-SVN: r223194

9 years agore PR c/66066 (r222889 causes bogus error: initializer element is not constant)
Marek Polacek [Thu, 14 May 2015 11:42:53 +0000 (11:42 +0000)]
re PR c/66066 (r222889 causes bogus error: initializer element is not constant)

PR c/66066
PR c/66127
* c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
(c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
C_MAYBE_CONST_EXPR_INT_OPERANDS set.  Add FOR_INT_CONST argument and
use it.  If FOR_INT_CONST, require that all evaluated operands be
INTEGER_CSTs.

* c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
rather than with 0.

* gcc.dg/pr14649-1.c: Add -Wpedantic.
* gcc.dg/pr19984.c: Likewise.
* gcc.dg/pr66066-1.c: New test.
* gcc.dg/pr66066-2.c: New test.
* gcc.dg/pr66066-3.c: New test.

From-SVN: r223193

9 years agorl78.c (rl78_select_section): Select the correct default section based upon the categ...
Nick Clifton [Thu, 14 May 2015 08:37:09 +0000 (08:37 +0000)]
rl78.c (rl78_select_section): Select the correct default section based upon the category of the decl.

* config/rl78/rl78.c (rl78_select_section): Select the correct
default section based upon the category of the decl.

From-SVN: r223192

9 years agoDaily bump.
GCC Administrator [Thu, 14 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r223189

9 years agosjlj.m4: New file.
Eric Botcazou [Wed, 13 May 2015 21:15:31 +0000 (21:15 +0000)]
sjlj.m4: New file.

config/
* sjlj.m4: New file.
libgcc/
* configure.ac: Include config/sjlj.m4.
Remove manual SJLJ check, add GCC_CHECK_SJLJ_EXCEPTIONS and adjust.
* config.in: Regenerate.
* configure: Likewise.
* config.host: Replace enable_sjlj_exceptions by ac_cv_sjlj_exceptions.
libjava/
* configure.ac: Include config/sjlj.m4.
Remove manual SJLJ check, add GCC_CHECK_SJLJ_EXCEPTIONS and adjust.
* include/config.h.in: Regenerate.
* configure: Likewise.
* exception.cc: Replace SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__.
* stacktrace.cc: Likewise.
* include/default-signal.h: Likewise.
* sysdep/i386/backtrace.h: Likewise.
libobjc/
* configure.ac: Remove manual SJLJ check.
* config.h.in: Regenerate.
* configure: Likewise.
* exception.c: Replace SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__.
libstdc++-v3/
* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
* configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
* config.h.in: Regenerate.
* configure: Likewise.
* libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
__USING_SJLJ_EXCEPTIONS__.
* libsupc++/eh_throw.cc: Likewise.
* libsupc++/eh_ptr.cc: Likewise.
* doc/html/manual/appendix_porting.html: Remove
GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
* doc/xml/manual/build_hacking.xml: Likewise.
* doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
* doc/xml/manual/configure.xml: Likewise.

From-SVN: r223181

9 years agore PR rtl-optimization/30967 (Extra sign/zero extend with word comparison result)
Segher Boessenkool [Wed, 13 May 2015 19:14:07 +0000 (21:14 +0200)]
re PR rtl-optimization/30967 (Extra sign/zero extend with word comparison result)

PR rtl-optimization/30967
* config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
destination mode for the cost of scc patterns.

From-SVN: r223174

9 years agoi386.md (*mul<mode>3_1): Merge with *mulhi3_1 using SWIM248 mode iterator.
Uros Bizjak [Wed, 13 May 2015 18:01:27 +0000 (20:01 +0200)]
i386.md (*mul<mode>3_1): Merge with *mulhi3_1 using SWIM248 mode iterator.

* config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
using SWIM248 mode iterator.
(*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
(*mulvhi4): mark operand[1] as commutative.  Use nonimmediate_operand
for operand[2] constraint.
(*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.

From-SVN: r223173

9 years agore PR middle-end/66133 (Wrong-code with noreturn #pragma omp task body)
Jakub Jelinek [Wed, 13 May 2015 16:59:20 +0000 (18:59 +0200)]
re PR middle-end/66133 (Wrong-code with noreturn #pragma omp task body)

PR middle-end/66133
* omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
make sure it is never noreturn, even when the task body does not
return.
(lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
right before GIMPLE_OMP_RETURN.
(make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
for GIMPLE_OMP_TASK.  For GIMPLE_OMP_RETURN corresponding to
GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.

* testsuite/libgomp.c/pr66133.c: New test.

From-SVN: r223171

9 years agoshared_ptr_base.h (__shared_count(unique_ptr&&)): Check for nullptr (LWG 2415).
Jonathan Wakely [Wed, 13 May 2015 16:42:18 +0000 (17:42 +0100)]
shared_ptr_base.h (__shared_count(unique_ptr&&)): Check for nullptr (LWG 2415).

* include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
for nullptr (LWG 2415).
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
construction from empty unique_ptr.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.

From-SVN: r223170

9 years ago[tree-ssa-math-opts] Expand pow (x, CONST) using square roots when possible
Kyrylo Tkachov [Wed, 13 May 2015 15:26:14 +0000 (15:26 +0000)]
[tree-ssa-math-opts] Expand pow (x, CONST) using square roots when possible

* params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
* tree-ssa-math-opts.c: Include params.h
(pow_synth_sqrt_info): New struct.
(representable_as_half_series_p): New function.
(get_fn_chain): Likewise.
(print_nested_fn): Likewise.
(dump_fractional_sqrt_sequence): Likewise.
(dump_integer_part): Likewise.
(expand_pow_as_sqrts): Likewise.
(gimple_expand_builtin_pow): Use above to attempt to expand
pow as series of square roots.  Removed now unused variables.

* gcc.target/aarch64/pow-sqrt-synth-1.c: New test.
* gcc.dg/pow-sqrt.x: New file.
* gcc.dg/pow-sqrt-1.c: New test.
* gcc.dg/pow-sqrt-2.c: Likewise.
* gcc.dg/pow-sqrt-3.c: Likewise.

From-SVN: r223167

9 years agoalpha.c (alpha_emit_set_long_const): Remove c1 argument.
Uros Bizjak [Wed, 13 May 2015 15:02:26 +0000 (17:02 +0200)]
alpha.c (alpha_emit_set_long_const): Remove c1 argument.

* config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
(alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
Remove *p0 and *p1 arguments.  Rewrite function.
(alpha_legitimate_constant_p): Update call to alpha_extract_integer.
(alpha_split_const_mov): Update calls to alpha_extract_integer and
alpha_emit_set_long_const.
(alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
(alpha_output_mi_thunk_osf): Ditto.
* config/alpha/alpha.md (movti): Do not check operands[1]
for CONST_DOUBLE.

From-SVN: r223166

9 years agore PR tree-optimization/66129 (FAIL: gcc.dg/vect/vect-strided-*c execution test)
Richard Biener [Wed, 13 May 2015 14:38:19 +0000 (14:38 +0000)]
re PR tree-optimization/66129 (FAIL: gcc.dg/vect/vect-strided-*c execution test)

2015-05-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66129
* tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
commutative.
(vect_schedule_slp_instance): Fix typo.

From-SVN: r223164

9 years agolibcpp/input.c: Add a way to visualize the linemaps (-fdump-internal-locations)
David Malcolm [Wed, 13 May 2015 13:58:18 +0000 (13:58 +0000)]
libcpp/input.c: Add a way to visualize the linemaps (-fdump-internal-locations)

gcc/ChangeLog:
* common.opt (fdump-internal-locations): New option.
* input.c: Include diagnostic-core.h.
(get_end_location): New function.
(write_digit): New function.
(write_digit_row): New function.
(dump_location_range): New function.
(dump_labelled_location_range): New function.
(dump_location_info): New function.
* input.h (dump_location_info): New prototype.
* toplev.c (compile_file): Handle flag_dump_locations.

libcpp/ChangeLog:
* include/line-map.h (source_location): Add a reference to
location-example.txt to the descriptive comment.
* location-example.txt: New file.

From-SVN: r223163

9 years agostl_raw_storage_iter.h (raw_storage_iterator::base()): Define (LWG 2454).
Jonathan Wakely [Wed, 13 May 2015 13:54:46 +0000 (14:54 +0100)]
stl_raw_storage_iter.h (raw_storage_iterator::base()): Define (LWG 2454).

* include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
Define (LWG 2454).
* testsuite/20_util/raw_storage_iterator/base.cc: New.

From-SVN: r223162

9 years agofuture (packaged_task(allocator_arg_t, const A&, F&&): Remove explicit (LWG 2407).
Jonathan Wakely [Wed, 13 May 2015 13:54:40 +0000 (14:54 +0100)]
future (packaged_task(allocator_arg_t, const A&, F&&): Remove explicit (LWG 2407).

* include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
Remove explicit (LWG 2407).

From-SVN: r223161

9 years agobasic_string.h (basic_string::basic_string()): Make noexcept conditional on allocator...
Jonathan Wakely [Wed, 13 May 2015 13:32:36 +0000 (14:32 +0100)]
basic_string.h (basic_string::basic_string()): Make noexcept conditional on allocator (LWG 2455).

* include/bits/basic_string.h (basic_string::basic_string()): Make
noexcept conditional on allocator (LWG 2455).

From-SVN: r223160

9 years ago* include/std/complex (polar): Check for negative rho (LWG 2459).
Jonathan Wakely [Wed, 13 May 2015 13:32:31 +0000 (14:32 +0100)]
* include/std/complex (polar): Check for negative rho (LWG 2459).

From-SVN: r223159

9 years agotuple (apply): Handle pointers to member (LWG 2418).
Jonathan Wakely [Wed, 13 May 2015 13:12:48 +0000 (14:12 +0100)]
tuple (apply): Handle pointers to member (LWG 2418).

* include/experimental/tuple (apply): Handle pointers to member (LWG
2418).
* include/std/functional (_Mem_fn_base): Make constructors constexpr.
(_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
* testsuite/experimental/tuple/apply.cc: Test pointer to member.

From-SVN: r223158

9 years agogimple-expr.h (is_gimple_constant): Reorder.
Eric Botcazou [Wed, 13 May 2015 12:36:47 +0000 (12:36 +0000)]
gimple-expr.h (is_gimple_constant): Reorder.

* gimple-expr.h (is_gimple_constant): Reorder.
* tree-ssa-propagate.c (before_dom_children): Use inline accessor.

From-SVN: r223156

9 years ago* include/bits/random.h (seed_seq): More noexcept (LWG 2440).
Jonathan Wakely [Wed, 13 May 2015 12:21:52 +0000 (13:21 +0100)]
* include/bits/random.h (seed_seq): More noexcept (LWG 2440).

From-SVN: r223155

9 years agoalloc_traits.h (_S_max_size): Implement LWG 2466.
Jonathan Wakely [Wed, 13 May 2015 12:21:45 +0000 (13:21 +0100)]
alloc_traits.h (_S_max_size): Implement LWG 2466.

* include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
* testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
* testsuite/23_containers/forward_list/allocator/minimal.cc:
Likewise.
* testsuite/23_containers/map/allocator/minimal.cc: Likewise.
* testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
* testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
* testsuite/23_containers/set/allocator/minimal.cc: Likewise.
* testsuite/23_containers/unordered_map/allocator/minimal.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
Likewise.
* testsuite/23_containers/unordered_set/allocator/minimal.cc:
Likewise.
* testsuite/util/testsuite_allocator.h: Remove unused parameter.

From-SVN: r223154

9 years agolibcpp: Replace macro usage with C++ constructs
David Malcolm [Wed, 13 May 2015 11:51:03 +0000 (11:51 +0000)]
libcpp: Replace macro usage with C++ constructs

libcpp/ChangeLog:
* include/line-map.h (MAX_SOURCE_LOCATION): Convert from a macro
to a const source_location.
(RESERVED_LOCATION_COUNT): Likewise.
(linemap_check_ordinary): Convert from a macro to a pair of inline
functions, for const/non-const arguments.
(MAP_START_LOCATION): Likewise.
(ORDINARY_MAP_STARTING_LINE_NUMBER): Likewise.
(ORDINARY_MAP_INCLUDER_FILE_INDEX): Likewise.
(ORDINARY_MAP_IN_SYSTEM_HEADER_P): Likewise.
(ORDINARY_MAP_NUMBER_OF_COLUMN_BITS): Convert from a macro to a
pair of inline functions, for const/non-const arguments, where the
latter is named...
(SET_ORDINARY_MAP_NUMBER_OF_COLUMN_BITS): New function.
(ORDINARY_MAP_FILE_NAME): Convert from a macro to a pair of inline
functions, for const/non-const arguments.
(MACRO_MAP_MACRO): Likewise.
(MACRO_MAP_NUM_MACRO_TOKENS): Likewise.
(MACRO_MAP_LOCATIONS): Likewise.
(MACRO_MAP_EXPANSION_POINT_LOCATION): Likewise.
(LINEMAPS_MAP_INFO): Likewise.
(LINEMAPS_MAPS): Likewise.
(LINEMAPS_ALLOCATED): Likewise.
(LINEMAPS_USED): Likewise.
(LINEMAPS_CACHE): Likewise.
(LINEMAPS_ORDINARY_CACHE): Likewise.
(LINEMAPS_MACRO_CACHE): Likewise.
(LINEMAPS_MAP_AT): Convert from a macro to an inline function.
(LINEMAPS_LAST_MAP): Likewise.
(LINEMAPS_LAST_ALLOCATED_MAP): Likewise.
(LINEMAPS_ORDINARY_MAPS): Likewise.
(LINEMAPS_ORDINARY_MAP_AT): Likewise.
(LINEMAPS_ORDINARY_ALLOCATED): Likewise.
(LINEMAPS_ORDINARY_USED): Likewise.
(LINEMAPS_LAST_ORDINARY_MAP): Likewise.
(LINEMAPS_LAST_ALLOCATED_ORDINARY_MAP): Likewise.
(LINEMAPS_MACRO_MAPS): Likewise.
(LINEMAPS_MACRO_MAP_AT): Likewise.
(LINEMAPS_MACRO_ALLOCATED): Likewise.
(LINEMAPS_MACRO_USED): Likewise.
(LINEMAPS_MACRO_LOWEST_LOCATION): Likewise.
(LINEMAPS_LAST_MACRO_MAP): Likewise.
(LINEMAPS_LAST_ALLOCATED_MACRO_MAP): Likewise.
(IS_ADHOC_LOC): Likewise.
(COMBINE_LOCATION_DATA): Likewise.
(SOURCE_LINE): Likewise.
(SOURCE_COLUMN): Likewise.
(LAST_SOURCE_LINE_LOCATION): Likewise.
(LAST_SOURCE_LINE): Likewise.
(LAST_SOURCE_COLUMN): Likewise.
(LAST_SOURCE_LINE_LOCATION)
(INCLUDED_FROM): Likewise.
(MAIN_FILE_P): Likewise.
(LINEMAP_FILE): Likewise.
(LINEMAP_LINE): Likewise.
(LINEMAP_SYSP): Likewise.
(linemap_location_before_p): Likewise.
* line-map.c (linemap_check_files_exited): Make local "map" const.
(linemap_add): Use SET_ORDINARY_MAP_NUMBER_OF_COLUMN_BITS.
(linemap_line_start): Likewise.

From-SVN: r223152

9 years agozlib: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:31:32 +0000 (11:31 +0000)]
zlib: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

From-SVN: r223151

9 years agolto-plugin: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:30:22 +0000 (11:30 +0000)]
lto-plugin: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.am: Drop 'by automake version' from top-level comment.
* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

From-SVN: r223150

9 years agolibvtv: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:28:41 +0000 (11:28 +0000)]
libvtv: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
* testsuite/Makefile.in: Likewise.
* testsuite/other-tests/Makefile.in: Likewise.

From-SVN: r223149

9 years agolibquadmath: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:27:43 +0000 (11:27 +0000)]
libquadmath: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

From-SVN: r223148

9 years agolibobjc: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:27:01 +0000 (11:27 +0000)]
libobjc: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* aclocal.m4: Regenerated with automake-1.11.6.

From-SVN: r223147

9 years agocombine.c (simplify_set): When generating a CC set...
Segher Boessenkool [Wed, 13 May 2015 11:26:45 +0000 (13:26 +0200)]
combine.c (simplify_set): When generating a CC set...

* combine.c (simplify_set): When generating a CC set, if the
source already is in the correct mode, do not wrap it in a
compare.  Simplify the rest of that code.

From-SVN: r223146

9 years agolibmpx: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:26:12 +0000 (11:26 +0000)]
libmpx: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
* mpxrt/Makefile.in: Likewise.
* mpxwrap/Makefile.in: Likewise.

From-SVN: r223145

9 years agolibitm: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:25:28 +0000 (11:25 +0000)]
libitm: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
* testsuite/Makefile.in: Likewise.

From-SVN: r223144

9 years agolibgomp: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:24:38 +0000 (11:24 +0000)]
libgomp: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* config.h.in: Likewise.
* configure: Likewise.
* testsuite/Makefile.in: Likewise.

From-SVN: r223143

9 years agolibffi: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:23:24 +0000 (11:23 +0000)]
libffi: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
* fficonfig.h.in: Likewise.
* include/Makefile.in: Likewise.
* man/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.

From-SVN: r223142

9 years agolibssp: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:12:39 +0000 (11:12 +0000)]
libssp: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

From-SVN: r223141

9 years agolibsanitizer: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:11:58 +0000 (11:11 +0000)]
libsanitizer: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* asan/Makefile.in: Likewise.
* configure: Likewise.
* interception/Makefile.in: Likewise.
* libbacktrace/Makefile.in: Likewise.
* lsan/Makefile.in: Likewise.
* sanitizer_common/Makefile.in: Likewise.
* tsan/Makefile.in: Likewise.
* ubsan/Makefile.in: Likewise.

From-SVN: r223140

9 years agoliboffloadmic: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:10:33 +0000 (11:10 +0000)]
liboffloadmic: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
* plugin/Makefile.in: Likewise.
* plugin/aclocal.m4: Likewise.
* plugin/configure: Likewise.

From-SVN: r223139

9 years agolibjava: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:09:22 +0000 (11:09 +0000)]
libjava: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
* gcj/Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.

From-SVN: r223138

9 years agolibjava/libltdl: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:08:26 +0000 (11:08 +0000)]
libjava/libltdl: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

From-SVN: r223137

9 years agoacinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
Jonathan Wakely [Wed, 13 May 2015 11:07:38 +0000 (12:07 +0100)]
acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.

* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
* configure: Regenerate.

From-SVN: r223136

9 years agolibjava/classpath: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:07:14 +0000 (11:07 +0000)]
libjava/classpath: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

 * Makefile.in: Regenerated with automake-1.11.6.
 * aclocal.m4: Likewise.
 * configure: Likewise.
 * doc/Makefile.in: Likewise.
 * doc/api/Makefile.in: Likewise.
 * examples/Makefile.in: Likewise.
 * external/Makefile.in: Likewise.
 * external/jsr166/Makefile.in: Likewise.
 * external/relaxngDatatype/Makefile.in: Likewise.
 * external/sax/Makefile.in: Likewise.
 * external/w3c_dom/Makefile.in: Likewise.
 * include/Makefile.in: Likewise.
 * lib/Makefile.in: Likewise.
 * native/Makefile.in: Likewise.
 * native/fdlibm/Makefile.in: Likewise.
 * native/jawt/Makefile.in: Likewise.
 * native/jni/Makefile.in: Likewise.
 * native/jni/classpath/Makefile.in: Likewise.
 * native/jni/gconf-peer/Makefile.in: Likewise.
 * native/jni/gstreamer-peer/Makefile.in: Likewise.
 * native/jni/gtk-peer/Makefile.in: Likewise.
 * native/jni/java-io/Makefile.in: Likewise.
 * native/jni/java-lang/Makefile.in: Likewise.
 * native/jni/java-math/Makefile.in: Likewise.
 * native/jni/java-net/Makefile.in: Likewise.
 * native/jni/java-nio/Makefile.in: Likewise.
 * native/jni/java-util/Makefile.in: Likewise.
 * native/jni/midi-alsa/Makefile.in: Likewise.
 * native/jni/midi-dssi/Makefile.in: Likewise.
 * native/jni/native-lib/Makefile.in: Likewise.
 * native/jni/qt-peer/Makefile.in: Likewise.
 * native/jni/xmlj/Makefile.in: Likewise.
 * native/plugin/Makefile.in: Likewise.
 * resource/Makefile.in: Likewise.
 * scripts/Makefile.in: Likewise.
 * tools/Makefile.in: Likewise.

From-SVN: r223135

9 years agolibdecnumber: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:02:59 +0000 (11:02 +0000)]
libdecnumber: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* aclocal.m4: Regenerated with automake-1.11.6.

From-SVN: r223134

9 years agolibcpp: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:02:17 +0000 (11:02 +0000)]
libcpp: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* aclocal.m4: Regenerated with automake-1.11.6.

From-SVN: r223133

9 years agolibcilkrts: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:01:24 +0000 (11:01 +0000)]
libcilkrts: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

From-SVN: r223132

9 years agolibcc1: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 11:00:37 +0000 (11:00 +0000)]
libcc1: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

From-SVN: r223131

9 years agore PR tree-optimization/66123 (Array of labels as values + ternary operator + pointer...
Richard Biener [Wed, 13 May 2015 10:59:49 +0000 (10:59 +0000)]
re PR tree-optimization/66123 (Array of labels as values + ternary operator + pointer arithmetic = internal compiler error)

2015-05-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66123
* tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
a taken edge.

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

From-SVN: r223130

9 years agogotools: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 10:59:14 +0000 (10:59 +0000)]
gotools: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

From-SVN: r223129

9 years agolibbacktrace: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 10:58:11 +0000 (10:58 +0000)]
libbacktrace: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.

From-SVN: r223128

9 years agoboehm-gc: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 10:56:33 +0000 (10:56 +0000)]
boehm-gc: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
* include/Makefile.in: Likewise.
* include/gc_config.h.in: Likewise.
* testsuite/Makefile.in: Likewise.

From-SVN: r223127

9 years agore PR middle-end/66110 (uint8_t memory access not optimized)
Richard Biener [Wed, 13 May 2015 10:53:42 +0000 (10:53 +0000)]
re PR middle-end/66110 (uint8_t memory access not optimized)

2015-05-13  Richard Biener  <rguenther@suse.de>

PR middle-end/66110
* alias.c (alias_sets_conflict_p): Do not treat has_zero_child
specially.
* Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.

* gcc.dg/alias-2.c: Adjust.
* gcc.dg/tree-ssa/ssa-dse-17.c: New testcase.

From-SVN: r223126

9 years agolibstdc++: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 10:51:03 +0000 (10:51 +0000)]
libstdc++: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
* doc/Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* python/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* src/c++11/Makefile.in: Likewise.
* src/c++98/Makefile.in: Likewise.
* src/filesystem/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.

From-SVN: r223125

9 years agointl: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 10:37:11 +0000 (10:37 +0000)]
intl: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* aclocal.m4: Regenerated with automake-1.11.6.

From-SVN: r223124

9 years agofixincludes: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 10:35:20 +0000 (10:35 +0000)]
fixincludes: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* aclocal.m4: Regenerated with automake-1.11.6.

From-SVN: r223123

9 years agogcc: Bump to automake 1.11.6
Michael Haubenwallner [Wed, 13 May 2015 10:32:56 +0000 (10:32 +0000)]
gcc: Bump to automake 1.11.6

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

* doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
* aclocal.m4: Regenerated with automake-1.11.6.

From-SVN: r223122

9 years agoline-map.h: move linemap_assert and friends higher up within the file
David Malcolm [Wed, 13 May 2015 10:24:30 +0000 (10:24 +0000)]
line-map.h: move linemap_assert and friends higher up within the file

libcpp/ChangeLog:
* include/line-map.h (linemap_assert): Move up within the file to
before all of the map accessor macros.
(linemap_assert_fails): Likewise.
(linemap_check_ordinary): Likewise.
(linemap_macro_expansion_map_p): Likewise.

From-SVN: r223121

9 years agoGimplify va_arg ap based on do_deref
Tom de Vries [Wed, 13 May 2015 09:06:18 +0000 (09:06 +0000)]
Gimplify va_arg ap based on do_deref

2015-05-13  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/66010
* gimplify.h (gimplify_va_arg_internal): Remove declaration.
* gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
* tree-stdarg.c (expand_ifn_va_arg_1): ... here.  Choose between lval
and rval based on do_deref.

From-SVN: r223120

9 years agore PR target/65103 ([i386] GOTOFF relocation is not propagated into address expression)
Ilya Enkovich [Wed, 13 May 2015 08:29:14 +0000 (08:29 +0000)]
re PR target/65103 ([i386] GOTOFF relocation is not propagated into address expression)

gcc/

PR target/65103
* config/i386/i386.c (ix86_rtx_costs): We want to propagate
link time constants into adress expressions and therefore set
their cost to 0.

gcc/testsuite/

PR target/65103
* gcc.target/i386/pr65103-3.c: New.

From-SVN: r223119

9 years agoFix test case.
Martin Liska [Wed, 13 May 2015 08:24:04 +0000 (10:24 +0200)]
Fix test case.

* g++.dg/ipa/pr65557.C: Remove unnecessary dump flag.

From-SVN: r223118

9 years agore PR target/66112 (__builtin_mul_overflow for int16_t emits poor code)
Jakub Jelinek [Wed, 13 May 2015 08:09:01 +0000 (10:09 +0200)]
re PR target/66112 (__builtin_mul_overflow for int16_t emits poor code)

PR target/66112
* config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
Use SWI248 iterator instead of SWI.
(*mulv<mode>4_1): Use SWI48 instead of SWI.  Simplify output template.
Use eq_attr "alternative" "0" instead of match_test in
length_immediate attribute computation.
(*mulvhi4, *mulvhi4_1): New define_insns.

* gcc.target/i386/pr66112-2.c: New test.

From-SVN: r223116

9 years agore PR target/66112 (__builtin_mul_overflow for int16_t emits poor code)
Jakub Jelinek [Wed, 13 May 2015 08:07:58 +0000 (10:07 +0200)]
re PR target/66112 (__builtin_mul_overflow for int16_t emits poor code)

PR target/66112
* internal-fn.c (get_min_precision): Use UNSIGNED instead of
SIGNED to get precision of non-negative value.

* gcc.target/i386/pr66112-1.c: New test.

From-SVN: r223115

9 years agore PR rtl-optimization/66048 ([i386] ICE in create_pre_exit when both AVX and MPX...
Ilya Enkovich [Wed, 13 May 2015 07:49:59 +0000 (07:49 +0000)]
re PR rtl-optimization/66048 ([i386] ICE in create_pre_exit when both AVX and MPX are used)

gcc/

PR target/66048
* function.c (diddle_return_value_1): Process bounds first.
* config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
register.

gcc/testsuite/

PR target/66048
* gcc.target/i386/mpx/pr66048.cc: New.

From-SVN: r223114

9 years agore PR rtl-optimization/64616 (Redundant ldr when accessing var inside and outside...
Thomas Preud'homme [Wed, 13 May 2015 05:39:14 +0000 (05:39 +0000)]
re PR rtl-optimization/64616 (Redundant ldr when accessing var inside and outside a loop)

2015-05-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR rtl-optimization/64616
    * loop-invariant.c (can_move_invariant_reg): New.
    (move_invariant_reg): Call above new function to decide whether
    instruction can just be moved, skipping creation of temporary
    register.

    gcc/testsuite/
    PR rtl-optimization/64616
    * gcc.dg/loop-8.c: New test.
    * gcc.dg/loop-9.c: New test.

From-SVN: r223113

9 years agore PR target/66047 (vlc compilation failure with target attribute)
Jan Hubicka [Wed, 13 May 2015 03:35:09 +0000 (05:35 +0200)]
re PR target/66047 (vlc compilation failure with target attribute)

PR target/66047
* i386.c (ix86_function_sseregparm): Only return -1 if local function
with implied regparm is called from -mno-sse function.
(init_cumulative_args): Output error if ix86_function_sseregparm
return -1 and SSE register would be needed.
(function_arg_advance_32): Likewise.
(function_arg_32): Likewise.
* i386.h (ix86_args): Add decl field.
* gcc.target/i386/pr66047.c: New testcase.

From-SVN: r223111

9 years agore PR ipa/65873 (Failure to inline always_inline memcpy)
Jan Hubicka [Wed, 13 May 2015 02:57:27 +0000 (04:57 +0200)]
re PR ipa/65873 (Failure to inline always_inline memcpy)

PR ipa/65873
* ipa-inline.c (can_inline_edge_p): Allow early inlining of always
inlines across optimization boundary.
* testsuite/gcc.c-torture/compile/pr65873.c: New testcase.

From-SVN: r223108

9 years agore PR ipa/65873 (Failure to inline always_inline memcpy)
Jan Hubicka [Wed, 13 May 2015 02:54:50 +0000 (04:54 +0200)]
re PR ipa/65873 (Failure to inline always_inline memcpy)

PR ipa/65873
* ipa-inline.c (can_inline_edge_p): Allow early inlining of always
inlines across optimization boundary.

From-SVN: r223107

9 years agommix.c, msp430.c: Add space between string literal and macro name.
Jason Merrill [Wed, 13 May 2015 01:11:13 +0000 (21:11 -0400)]
mmix.c, msp430.c: Add space between string literal and macro name.

gcc/
* config/mmix/mmix.c, config/msp430/msp430.c: Add space between
string literal and macro name.
gcc/ada/
* sigtramp-vxworks.c: Add space between string literal and macro
name.

From-SVN: r223106

9 years agoDaily bump.
GCC Administrator [Wed, 13 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r223105

9 years agomips.c (mips_print_operand): Remove 'y' operand code.
Steve Ellcey [Tue, 12 May 2015 22:58:39 +0000 (22:58 +0000)]
mips.c (mips_print_operand): Remove 'y' operand code.

* config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
* config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
* config/mips/predicates.md (const_immlsa_operand): Remove log call.

From-SVN: r223101

9 years agocompiler: If unary & does not escape, the var does not escape.
Ian Lance Taylor [Tue, 12 May 2015 22:13:01 +0000 (22:13 +0000)]
compiler: If unary & does not escape, the var does not escape.

If we have a unary & that takes the address of a variable, do
not force the variable to escape if the unary & does not
escape.

From-SVN: r223100

9 years agore PR fortran/66111 (ICE with matmul and vector subscripts)
Thomas Koenig [Tue, 12 May 2015 21:12:55 +0000 (21:12 +0000)]
re PR fortran/66111 (ICE with matmul and vector subscripts)

2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66111
* frontend-passes.c (has_dimen_vector_ref):  New function.
(inline_matmul_assign):  Use it to return early in case
of unhandled vector subscripts.

2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66111
* gfortran.dg/inline_matmul_10.f90:  New test.

From-SVN: r223099

9 years agoImplement -Wmisleading-indentation
David Malcolm [Tue, 12 May 2015 20:57:38 +0000 (20:57 +0000)]
Implement -Wmisleading-indentation

gcc/ChangeLog:
* doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
(-Wmisleading-indentation): New option.
* Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.

gcc/c-family/ChangeLog:
* c-common.h (warn_for_misleading_indentation): New prototype.
* c-indentation.c: New file.
* c.opt (Wmisleading-indentation): New option.

gcc/c/ChangeLog:
* c-parser.c (c_parser_if_body): Add param "if_loc", use it
to add a call to warn_for_misleading_indentation.
(c_parser_else_body): Likewise, adding param "else_loc".
(c_parser_if_statement): Check for misleading indentation.
(c_parser_while_statement): Likewise.
(c_parser_for_statement): Likewise.

gcc/cp/ChangeLog:
* parser.c (cp_parser_selection_statement): Add location and
guard_kind arguments to calls to
cp_parser_implicitly_scoped_statement.
(cp_parser_iteration_statement): Likewise for calls to
cp_parser_already_scoped_statement.
(cp_parser_implicitly_scoped_statement): Add "guard_loc" and
"guard_kind" params; use them to warn for misleading
indentation.
(cp_parser_already_scoped_statement): Likewise.

gcc/testsuite/ChangeLog:
* c-c++-common/Wmisleading-indentation.c: New testcase.
* c-c++-common/Wmisleading-indentation-2.c: New testcase.
* c-c++-common/Wmisleading-indentation-2.md: New file.

libcpp/ChangeLog:
* directives.c (do_line): Set seen_line_directive on line_table.
(do_linemarker): Likewise.
* include/line-map.h (struct line_maps): Add new field
"seen_line_directive".

From-SVN: r223098

9 years agoalpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
Uros Bizjak [Tue, 12 May 2015 20:05:23 +0000 (22:05 +0200)]
alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.

* config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
* config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
(alpha_extract_integer): Ditto.
(alpha_legitimate_constant_p): Ditto.
(alpha_split_tmode_pair): Ditto.
(alpha_preferred_reload_class): Add CONST_WIDE_INT.
(alpha_expand_mov): Ditto.
(print_operand): Remove handling of 'H' modifier.
<case 'm'>: Remove CONST_DOUBLE handling.
(summarize_insn): Handle CONST_WIDE_INT.
* config/alpha/alpha.md (*andsi_internal): Remove H constraint.
(anddi3): Ditto.
(movti): Handle CONST_WIDE_INT.
* config/alpha/constraints.md ('H'): Remove constraint definition.
('G'): Do not match MODE_FLOAT class.
* config/alpha/predicates.md (const0_operand): Also match
const_wide_int.
(non_add_const_operand): Ditto.
(non_zero_const_operand): Ditto.
(some_operand): Ditto.
(input_operand): Ditto.  Handle CONST_WIDE_INT.
(and_operand): Do not match const_double.
* config/alpha/sync.md (fetchop_constr): Remove H constraint.

From-SVN: r223097

9 years agore PR target/65697 (__atomic memory barriers not strong enough for __sync builtins)
Andrew MacLeod [Tue, 12 May 2015 20:01:47 +0000 (20:01 +0000)]
re PR target/65697 (__atomic memory barriers not strong enough for __sync builtins)

2015-05-12  Andrew MacLeod  <amacleod@redhat.com>

PR target/65697
* coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
(enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
* tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
is_mm_seq_cst, is_mm_sync): New accessor functions.
* builtins.c (expand_builtin_sync_operation,
expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
(expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
(get_memmodel,  expand_builtin_atomic_compare_exchange,
expand_builtin_atomic_load, expand_builtin_atomic_store,
expand_builtin_atomic_clear): Use new accessor routines.
(expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
* optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
(maybe_emit_sync_lock_test_and_set): Use new accessors and
MEMMODEL_SYNC_ACQUIRE.
(expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
(expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
expand_atomic_store): Use new accessors.
* emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
* tsan.c (instrument_builtin_call): Update check for memory model beyond
final enum to use MEMMODEL_LAST.
* c-family/c-common.c: Use new accessor for memmodel_base.
* config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
accessors.
* config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
mem_thread_fence, *dmb): Likewise.
* config/alpha/alpha.c (alpha_split_compare_and_swap,
alpha_split_compare_and_swap_12): Likewise.
* config/arm/arm.c (arm_expand_compare_and_swap,
arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
* config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
atomic_loaddi): Likewise.
* config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
Likewise.
* config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
* config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
use new accessors.
* config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
atomic_store<mode>, atomic_compare_and_swap<mode>,
atomic_exchange<mode>): Use new accessors.
* config/mips/mips.c (mips_process_sync_loop): Likewise.
* config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
* config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
rs6000_post_atomic_barrier): Add new cases.
(rs6000_expand_atomic_compare_and_swap): Use new accessors.
* config/rs6000/sync.md (mem_thread_fence): Add new cases.
(atomic_load<mode>): Add new cases and use new accessors.
(store_quadpti): Add new cases.
* config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
accessors.
* config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
* doc/extend.texi: Update docs to indicate 16 bits are used for memory
model, not 8.

From-SVN: r223096

9 years agoipa-devirt.c (type_with_linkage_p): New function.
Jan Hubicka [Tue, 12 May 2015 18:30:40 +0000 (20:30 +0200)]
ipa-devirt.c (type_with_linkage_p): New function.

* ipa-devirt.c (type_with_linkage_p): New function.
(type_in_anonymous_namespace_p): Move here from tree.c; assert that
type has linkage.
(odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
(can_be_name_hashed_p): Simplify.
(hash_odr_name): Check that type has linkage before checking if it is
anonymous.
(types_same_for_odr): Likewise.
(odr_name_hasher::equal): Likewise.
(odr_subtypes_equivalent_p): Likewise.
(warn_types_mismatch): Likewise.
(get_odr_type): Likewise.
(odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
* ipa-utils.h (odr_type_p): Move offline.
* tree.c (need_assembler_name_p): Fix handling of types
without linkages.
(type_in_anonymous_namespace_p): Move to ipa-devirt.c

From-SVN: r223094

9 years agoMove global state in timevar.c to a new "timer" class
David Malcolm [Tue, 12 May 2015 17:29:32 +0000 (17:29 +0000)]
Move global state in timevar.c to a new "timer" class

gcc/ChangeLog:
* timevar.c (timevar_enable): Delete in favor of...
(g_timer): New global.
(struct timevar_def): Move to timevar.h inside class timer.
(struct timevar_stack_def): Likewise.
(timevars): Delete global in favor of field "m_timevars" within
class timer in timevar.h
(stack): Likewise, in favor of field "m_stack".
(unused_stack_instances): Likewise, in favor of field
"m_unused_stack_instances".
(start_time): Likewise, in favor of field "m_start_time".
(get_time): Eliminate check for timevar_enable.
(timer::timer): New function, built from part of timevar_init.
(timevar_init): Rewrite idempotency test from using
"timevar_enable" bool to using dynamic allocation of "g_timer".
Move rest of implementation into timer's constructor.
(timevar_push_1): Rename to...
(timer::push): ...this, adding "m_" prefixes to variables that
are now fields of timer.
(timevar_pop_1): Likewise, rename to...
(timer::pop): ...this, and add "m_" prefixes.
(timevar_start): Replace test for "timevar_enable" with one for
"g_timer", and move bulk of implementation to...
(timer::start): ...here, adding "m_" prefixes.
(timevar_stop): Likewise, from here...
(timer::stop): ...to here.
(timevar_cond_start): Likewise, from here...
(timer::cond_start): ...to here.
(timevar_cond_stop): Likewise, from here...
(timer::cond_stop): ...to here.
(validate_phases): Rename to...
(timer::validate_phases): ...this, and add "m_" prefixes.  Make
locals "total" and "tv" const.
(timevar_print): Rename to...
(timer::print): ...this, and add "m_" prefixes.  Make locals
"total" and "tv" const.  Eliminate test for timevar_enable.
* timevar.h (timevar_enable): Eliminate.
(g_timer): New declaration.
(timevar_push_1): Eliminate.
(timevar_pop_1): Eliminate.
(timevar_print): Eliminate.
(class timer): New class.
(timevar_push): Rewrite to use g_timer.
(timevar_pop): Likewise.
* toplev.c (toplev::~toplev): Likewise.

From-SVN: r223092

9 years agoUnbreak the JIT after conversion of md_asm_adjust to use vec<>
David Malcolm [Tue, 12 May 2015 17:19:54 +0000 (17:19 +0000)]
Unbreak the JIT after conversion of md_asm_adjust to use vec<>

gcc/jit/ChangeLog:
* jit-builtins.c: Include vec.h before target.h.

From-SVN: r223091

9 years agoarm-protos.h (arm_sched_autopref): Delete.
Richard Earnshaw [Tue, 12 May 2015 16:39:19 +0000 (16:39 +0000)]
arm-protos.h (arm_sched_autopref): Delete.

* arm-protos.h (arm_sched_autopref): Delete.
(tune_params): Re-organize, use enums for flag values.
(FUSE_OPS): New macro.
* arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
(ARM_PREFETCH_BENEFICIAL): Likewise.
(ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
(arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
(arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
(arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
(arm_cortex_a57_tune,  arm_xgene1_tune, arm_cortex_a5_tune)
(arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
(arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
format.
(arm_option_override, thumb2_reorg, arm_print_tune_info)
(aarch_macro_fusion_pair_p): Update uses of current_tune.
* arm.h (LOGCIAL_OP_NON_SHORT_CIRCUIT): Likewise.

From-SVN: r223090

9 years agocheck_GNU_style.sh: Fix tab size in 80 characters check
Tom de Vries [Tue, 12 May 2015 16:23:38 +0000 (16:23 +0000)]
check_GNU_style.sh: Fix tab size in 80 characters check

2015-05-12  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh (col): Fix tab size.

From-SVN: r223088

9 years agocheck_GNU_style.sh: Put stdin into temp file
Tom de Vries [Tue, 12 May 2015 16:23:29 +0000 (16:23 +0000)]
check_GNU_style.sh: Put stdin into temp file

2015-05-12  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh: Put stdin into a temp file.

From-SVN: r223087

9 years agocheck_GNU_style.sh: Read either from stdin, or from files
Tom de Vries [Tue, 12 May 2015 16:23:19 +0000 (16:23 +0000)]
check_GNU_style.sh: Read either from stdin, or from files

2015-05-12  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh: Read either from stdin, or from files.

From-SVN: r223086

9 years agocheck_GNU_style.sh: Check file presence
Tom de Vries [Tue, 12 May 2015 16:23:11 +0000 (16:23 +0000)]
check_GNU_style.sh: Check file presence

2015-05-12  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh: Check if files exists.

From-SVN: r223085

9 years agocheck_GNU_style.sh: Don't use filename prefix for one patch
Tom de Vries [Tue, 12 May 2015 16:23:03 +0000 (16:23 +0000)]
check_GNU_style.sh: Don't use filename prefix for one patch

2015-05-12  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh: Don't use a filename prefix if we're only
processing one patch file.

From-SVN: r223084

9 years agonios2.md (trap, ctrapsi4): Use "trap" instead of "break".
Sandra Loosemore [Tue, 12 May 2015 16:10:21 +0000 (12:10 -0400)]
nios2.md (trap, ctrapsi4): Use "trap" instead of "break".

2015-05-12 Sandra Loosemore <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
"break".

gcc/testsuite/
* gcc.target/nios2/nios2-trap-insn.c: Expect "trap" instead of
"break".
* gcc.target/nios2/nios2-stack-check-1.c: Likewise.

From-SVN: r223083

9 years agonios2.h (enum reg_class): Add IJMP_REGS enum value.
Chung-Lin Tang [Tue, 12 May 2015 15:57:22 +0000 (15:57 +0000)]
nios2.h (enum reg_class): Add IJMP_REGS enum value.

2015-05-12  Chung-Lin Tang  <cltang@codesourcery.com>
    Sandra Loosemore <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
value.
(REG_CLASS_NAMES): Add "IJMP_REGS".
(REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
* config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
use new "c" register constraint.
* config/nios2/constraint.md (c): New register constraint
corresponding to IJMP_REGS.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r223082

9 years agomklog: Ignore preprocessor directives.
Yury Gribov [Tue, 12 May 2015 15:31:02 +0000 (15:31 +0000)]
mklog: Ignore preprocessor directives.

2015-05-12  Yury Gribov  <y.gribov@samsung.com>

* mklog: Ignore preprocessor directives.

From-SVN: r223081

9 years ago* gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups
Arnaud Charlet [Tue, 12 May 2015 15:20:38 +0000 (17:20 +0200)]
* gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups

From-SVN: r223080