gcc.git
9 years agoconfigure.ac (*-*-dragonfly*): New configuration.
John Marino [Mon, 8 Jun 2015 07:27:56 +0000 (07:27 +0000)]
configure.ac (*-*-dragonfly*): New configuration.

gnattools/
* configure.ac (*-*-dragonfly*): New configuration.
* configure: Regenerate.
gcc/ada/
* a-intnam-dragonfly.ads: New.
* s-osinte-dragonfly.adb: Likewise.
* s-osinte-dragonfly.ads: Likewise.
* system-dragonfly-x86_64.ads: Likewise.
* adaint.c: Add BSD macros.
* cstreams.c: Likewise.
* gsocket.h: Likewise.
* link.c: Likewise.
* socket.c: Likewise.
* env.c: Add __DragonFly__, remove __FreeBSD__ macro.
* init.c: Add __DragonFly__, change __gnat_install_handler
prototype from empty to void.
* initialize.c: Add __DragonFly__.
* sysdep.c: Likewise.
* s-osinte-freebsd.adb: Use __get_errno instead of __error.
* tracebak.c: Set unwinder for i386 BSD.
* gcc-interface/Makefile.in: Add x86_64 DragonFly, tweak
x86_64 FreeBSD and x86 FreeBSD.

From-SVN: r224207

9 years agoDaily bump.
GCC Administrator [Mon, 8 Jun 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224206

9 years agoFix my previous commit.
Jan Hubicka [Mon, 8 Jun 2015 00:13:40 +0000 (00:13 +0000)]
Fix my previous commit.

From-SVN: r224202

9 years agoalias.c (get_alias_set): Be ready for TYPE_CANONICAL of ptr_type_node to not be ptr_t...
Jan Hubicka [Sun, 7 Jun 2015 21:30:58 +0000 (23:30 +0200)]
alias.c (get_alias_set): Be ready for TYPE_CANONICAL of ptr_type_node to not be ptr_to_node.

* alias.c (get_alias_set): Be ready for TYPE_CANONICAL
of ptr_type_node to not be ptr_to_node.
* tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
TREE_TYPE of pointers.
* gimple-expr.c (useless_type_conversion): Reorder the check for
function pointers and TYPE_CANONICAL.
* lto.c (hash_canonical_type): Do not hash TREE_CODE of TREE_TYPE of
pointers.
* gfortran.dg/lto/bind_c-1_0.f90: New testcase.
* gfortran.dg/lto/bind_c-1_1.c: New testcase.
* gcc.dg/lto/c-compatible-types_0.c: Rename to ...
* gcc.dg/lto/c-compatible-types-1_0.c: this one; fix template
* gcc.dg/lto/c-compatible-types_1.c: Rename to ...
* gcc.dg/lto/c-compatible-types-1_1.c: this one; harden for
-fshort-enum.

From-SVN: r224201

9 years agostl_tree.h (_Rb_tree<>::__is_transparent<>): Move to outer scope and rename to ...
François Dumont [Sun, 7 Jun 2015 20:45:57 +0000 (20:45 +0000)]
stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to outer scope and rename to ...

2015-06-07  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
outer scope and rename to ...
(std::__hash_is_transparent<>): ... this.
* include/debug/stl_map.h (map::find<>,
map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
member function templates to perform heterogeneous lookup.
* include/debug/stl_multimap.h (multimap::find<>,
multimap::lower_bound<>, multimap::upper_bound<>,
multimap::equal_range<>): Likewise.
* include/debug/stl_multiset.h (multiset::find<>,
multiset::lower_bound<>, multiset::upper_bound<>,
multiset::equal_range<>): Likewise.
* include/debug/stl_set.h (set::find<>,
set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
* include/profile/stl_map.h (map::find<>, map::count<>,
map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
* include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
multimap::lower_bound<>, multimap::upper_bound<>,
multimap::equal_range<>): Likewise.
* include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
multiset::lower_bound<>, multiset::upper_bound<>,
multiset::equal_range<>): Likewise.
* include/profile/stl_set.h (set::find<>, set::count<>,
set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
* testsuite/23_containers/map/operations/1.cc: Check const variants.
* testsuite/23_containers/multimap/operations/1.cc: Likewise.
* testsuite/23_containers/multiset/operations/1.cc: Likewise.
* testsuite/23_containers/set/operations/1.cc: Likewise.

From-SVN: r224200

9 years agoDaily bump.
GCC Administrator [Sun, 7 Jun 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224198

9 years agore PR bootstrap/66319 (gcov-tool.c:84:65: error: invalid conversion from 'int (*...
John David Anglin [Sat, 6 Jun 2015 18:33:06 +0000 (18:33 +0000)]
re PR bootstrap/66319 (gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)')

PR bootstrap/66319
* config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
defines.  Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
later.
* config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
_INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
_INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
and non iso if unix2003.

From-SVN: r224192

9 years agore PR fortran/47359 (Recursive functions of intrinsic names generates invalid assembler)
Thomas Koenig [Sat, 6 Jun 2015 16:16:03 +0000 (16:16 +0000)]
re PR fortran/47359 (Recursive functions of intrinsic names generates invalid assembler)

2015-06-06  Thomas Koenig  <tkoenig@netcologne.de>

PR fortran/47359
* ChangeLog: Correct PR number in previous commit.

From-SVN: r224191

9 years agore PR fortran/47359 (Recursive functions of intrinsic names generates invalid assembler)
Thomas Koenig [Sat, 6 Jun 2015 16:12:39 +0000 (16:12 +0000)]
re PR fortran/47359 (Recursive functions of intrinsic names generates invalid assembler)

2015-06-06  Thomas Koenig  <tkoenig@netcologne.de>

PR fortran/47359
* arith.c (eval_intrinsic_op): Set warn flag for
gfc_type_convert_binary if -Wconversion or -Wconversion-extra
are set.
(wprecision_real_real): New function.
(wprecision_int_real): New function.
(gfc_int2int): If -fno-range-check and -Wconversion are specified
and it is a narrowing conversion, warn.
(gfc_int2real): If there is a change in value for the conversion,
warn.
(gfc_int2complex):  Likewise.
(gfc_real2int): If there is a fractional part to the real number,
warn with -Wconversion, otherwise warn with -Wconversion-extra.
(gfc_real2real): Emit warning if the constant was changed by
conversion with either -Wconversion or -Wconversion-extra.  With
-Wconversion-extra, warn if no warning was issued earlier.
(gfc_real2complex):  Likewise.
(gfc_complex2int): For -Wconversion or -Wconversion-extra, if
there was an imaginary part, warn; otherwise, warn for change in
value.  Warn with -Wconversion-extra if no other warning was
issued.
(gfc_complex2real): For -Wconversion or -Wconversion-extra, if
there was an imaginary part, warn; otherwise, warn for change in
value. Warn with -Wconversion-extra if no other warning was
issued.
(gfc_complex2complex):  For -Wconversion, warn if the value of
either the real or the imaginary part was changed.  Warn for
-Wconversion-extra if no prior warning was issued.
* expr.c (gfc_check_assign):  Remove check for change in value.
* primary.c (match_real_constant): For -Wconversion-extra, check
against a number in which the last non-zero digit has been
replaced with a zero.  If the number compares equal, warn.
* intrinsic.c (gfc_convert_type_warn):  Do not warn about constant
conversions.

2015-06-06  Thomas Koenig  <tkoenig@netcologne.de>

PR fortran/47359
* gfortran.dg/array_constructor_type_17.f03: Adjust error message.
* gfortran.dg/warn_conversion.f90: Add warning for change in value
for assignment.
* gfortran.dg/warn_conversion_3.f90: Add warnings.
* gfortran.dg/warn_conversion_5.f90: New test.
* gfortran.dg/warn_conversion_6.f90: New test.
* gfortran.dg/warn_conversion_7.f90: New test.

From-SVN: r224190

9 years ago* dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
Aldy Hernandez [Sat, 6 Jun 2015 15:16:02 +0000 (15:16 +0000)]
* dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.

From-SVN: r224189

9 years agoemit-rtl.c, [...]: Replace rtx base types with more derived ones.
Richard Sandiford [Sat, 6 Jun 2015 13:14:45 +0000 (13:14 +0000)]
emit-rtl.c, [...]: Replace rtx base types with more derived ones.

gcc/
* emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
except.c, final.c, function.c, gcse-common.c, genemit.c,
haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
more derived ones.

From-SVN: r224187

9 years agoAdd missing entry.
Eric Botcazou [Sat, 6 Jun 2015 07:49:11 +0000 (07:49 +0000)]
Add missing entry.

From-SVN: r224185

9 years agoutils.c (note_types_used_by_globals): Tweak comment.
Eric Botcazou [Sat, 6 Jun 2015 07:44:03 +0000 (07:44 +0000)]
utils.c (note_types_used_by_globals): Tweak comment.

* gcc-interface/utils.c (note_types_used_by_globals): Tweak comment.
* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.

From-SVN: r224184

9 years agoPromote types of rtl expressions to rtx_insn in gen_split and gen_peephole2
Mikhail Maltsev [Sat, 6 Jun 2015 05:39:16 +0000 (05:39 +0000)]
Promote types of rtl expressions to rtx_insn in gen_split and gen_peephole2

* combine.c (combine_split_insns): Remove cast.
* config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
* config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
* config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
* emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
* genemit.c (gen_split): Change return type of generated functions to
rtx_insn.
* genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
(print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
gen_peephole2_* functions.
(print_subroutine, main): Likewise.
* recog.c (peephole2_optimize): Remove cast.
(peep2_next_insn): Promote return type to rtx_insn.
* recog.h (peep2_next_insn): Fix prototype.
* rtl.h (try_split, split_insns): Likewise.

From-SVN: r224183

9 years agomsp430.c (msp430_asm_integer): Support addition and subtraction too.
DJ Delorie [Sat, 6 Jun 2015 05:15:16 +0000 (01:15 -0400)]
msp430.c (msp430_asm_integer): Support addition and subtraction too.

* config/msp430/msp430.c (msp430_asm_integer): Support addition
and subtraction too.

From-SVN: r224182

9 years agoDaily bump.
GCC Administrator [Sat, 6 Jun 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224181

9 years agore PR libstdc++/6641 (-D__USE_MALLOC doesn't link)
Kaz Kojima [Fri, 5 Jun 2015 23:36:26 +0000 (23:36 +0000)]
re PR libstdc++/6641 (-D__USE_MALLOC doesn't link)

PR target/6641
* Split Snd constraint into Sid and Ssd.  Disparage Sid/z alternative
  of *mov<mode> insn to avoid spill failure.

From-SVN: r224177

9 years agore PR fortran/66347 (Seg fault (ICE) on compile)
Steven G. Kargl [Fri, 5 Jun 2015 23:01:22 +0000 (23:01 +0000)]
re PR fortran/66347 (Seg fault (ICE) on compile)

2015-06-05  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66347
* resolve.c (apply_default_init_local): Do not dereference a NULL
pointer.

2015-06-05  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66347
* gfortran.dg/blockdata_9.f: New test.

From-SVN: r224175

9 years agoRemove jit_langhook_post_compilation_parsing_cleanups
David Malcolm [Fri, 5 Jun 2015 21:20:07 +0000 (21:20 +0000)]
Remove jit_langhook_post_compilation_parsing_cleanups

gcc/jit/ChangeLog:
* dummy-frontend.c
(jit_langhook_post_compilation_parsing_cleanups): Remove.
(LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): Remove
* jit-playback.c (gcc::jit::playback::context::new_global): Add
call to varpool_node::finalize_decl.
(gcc::jit::playback::context::finalize_global_decls): Remove.
* jit-playback.h
(gcc::jit::playback::context::finalize_global_decls): Remove.

From-SVN: r224173

9 years agore PR fortran/66385 (ICE: FORALL writing multiple elements of one array)
Thomas Koenig [Fri, 5 Jun 2015 20:51:08 +0000 (20:51 +0000)]
re PR fortran/66385 (ICE: FORALL writing multiple elements of one array)

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

PR fortran/66385
* frontend-passes.c (combine_array_constructor): Return early if
inside a FORALL loop.

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

PR fortran/66385
* gfortran.dg/forall_17.f90:  New test.

From-SVN: r224172

9 years agoFix build of jit after debug-early merger
David Malcolm [Fri, 5 Jun 2015 20:23:19 +0000 (20:23 +0000)]
Fix build of jit after debug-early merger

gcc/jit/ChangeLog:
* dummy-frontend.c (jit_langhook_write_globals): Rename to...
(jit_langhook_post_compilation_parsing_cleanups): ...this, and
eliminate calls to finalize_compilation_unit and
write_global_decls_2.
(LANG_HOOKS_WRITE_GLOBALS): Rename to...
(LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): ...this and
redirect from jit_langhook_write_globals to
jit_langhook_post_compilation_parsing_cleanups.
* jit-playback.c
(gcc::jit::playback::context::write_global_decls_1): Rename to...
(gcc::jit::playback::context::finalize_global_decls): ...this.
(gcc::jit::playback::context::write_global_decls_1): Delete.
* jit-playback.h
(gcc::jit::playback::context::write_global_decls_1): Rename to...
(gcc::jit::playback::context::finalize_global_decls): ...this.
(gcc::jit::playback::context::write_global_decls_1): Delete.

From-SVN: r224170

9 years ago* jcf-parse.c: Include toplev.h.
Aldy Hernandez [Fri, 5 Jun 2015 19:40:40 +0000 (19:40 +0000)]
* jcf-parse.c: Include toplev.h.

From-SVN: r224168

9 years agore PR c++/66405 (ICE: in tsubst, at cp/pt.c:11984)
Jason Merrill [Fri, 5 Jun 2015 19:14:02 +0000 (15:14 -0400)]
re PR c++/66405 (ICE: in tsubst, at cp/pt.c:11984)

PR c++/66405
* pt.c (argument_pack_element_is_expansion_p): Return 2 if
the expansion has extra args.
(use_pack_expansion_extra_args_p): Return true in that case.

From-SVN: r224163

9 years agore PR c++/66405 (ICE: in tsubst, at cp/pt.c:11984)
Jason Merrill [Fri, 5 Jun 2015 19:13:56 +0000 (15:13 -0400)]
re PR c++/66405 (ICE: in tsubst, at cp/pt.c:11984)

PR c++/66405
* pt.c (type_dependent_expression_p): EXPR_PACK_EXPANSION is
dependent even if it has a type.

From-SVN: r224162

9 years agoMerge debug-early branch into mainline.
Aldy Hernandez [Fri, 5 Jun 2015 18:44:53 +0000 (18:44 +0000)]
Merge debug-early branch into mainline.

* dwarf2out.c: Remove deferred_locations*.
(dwarf2_debug_hooks): Add early_finish hook.
Remove global_decl hook.
Add early_global_decl and late_global_decl hook.
New global early_dwarf.
New structure set_early_dwarf.
(output_die): Indicate whether a DIE was generated early
when generating assembly with -dA.
(struct limbo_die_struct): Document created_for field.
Remove file_table_last_lookup.
(remove_AT): Return TRUE if successful.
(remove_child_TAG): Clear die_parent.
(reparent_child): New function abstracted from...
(splice_child_die): ...here.
(new_die): ICE if a DIE ends up in limbo too late.
(check_die): New.
(defer_location): Remove.
(add_subscript_info): Reuse DW_TAG_subrange_type if available.
(fill_variable_array_bounds): New.
(decl_start_label): Call fill_variable_array_bounds.
(gen_formal_parameter_die): Rewrite to reuse previously generated
DIEs.
(gen_subprogram_die): Same.
(gen_variable_die): Same.
(gen_const_die): Same.
(gen_label_die): Same.
(gen_lexical_block_die): Same.
(decl_will_get_specification_p): New.
(local_function_static): New.
(gen_struct_or_union_type_die): Fill in variable-length fields.
(gen_typedef_die): Fill in variable-length typedefs.
(gen_tagged_type_die): Gracefully return on error_mark_node.
Handle re-entrancy.
(gen_type_die_with_usage): Handle variable-length types.
Remove duplicate code for ARRAY_TYPE case.
(process_scope_var): Only process imported modules during early
dwarf.
(dwarf2out_early_global_decl): New.
(dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
(dwarf2out_type_decl): Set early_dwarf while calling
dwarf2out_decl.
(dwarf2out_decl): Verify that we did not recreate a previously
generated DIE.
Do not return on DECL_EXTERNALs in VAR_DECLs.
Abstract some code to local_function_static.
(lookup_filename): Remove use of file_table_last_lookup.
Gracefully exit on missing file_name.
(dwarf2out_finish): Verify limbo list.
Remove deferred_locations_list use.
Move deferred_asm_name and limbo flushing to...
(dwarf2out_early_finish): ...here.  New.
(dwarf2out_c_finalize): Remove set of deferred_location_list,
deferred_asm_name, and file_table_last_lookup.
* cgraph.h (referred_to_p): Add default argument.
* cgraphunit.c (referred_to_p): Add and handle include_self
argument.
(analyze_functions): Add first_time argument.
Call check_global_declaration for all symbols.
Call late_global_decl for nodes for moribund nodes.
(finalize_compilation_unit): Add new argument to
analyze_functions.
Call early_global_decl for functions.
Call early_finish debug hook.
* dbxout.c (dbxout_early_global_decl): New.
(dbxout_late_global_decl): New.  Adapted from dbxout_global_decl.
(dbx_debug_hooks): Add new hooks.
(xcoff_debug_hooks): Same.
* debug.c (do_nothing_debug_hooks): Add early_finish field.
Add early and late debug hooks.
Remove global_decl hook.
* debug.h (struct gcc_debug_hooks): Add early_finish,
early_global_decl, and late_global_decl fields.
Remove global_decl field.
Document gcc_debug_hooks.
* gengtype.c (output_typename): Remove.
* godump.c (go_early_global_decl): New.
(go_late_global_decl): New.
(go_global_decl): Remove.
(dump_go_spec_init): Remove global_decl.  Add
{early,late}_global_decl.
* langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
(LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
* langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
(write_global_declarations): Remove.
(global_decl_processing): New.
* langhooks.h (struct lang_hooks_for_decls): Remove
final_write_globals field.
Add post_compilation_parsing_cleanups field.
* passes.c (rest_of_decl_compilation): Call early_global_decl.
* sdbout.c: Add early and late_global_decl hooks.  Remove
sdbout_global_decl hook.
Add early_finish field for sdb_debug_hooks.
(sdbout_global_decl): Remove.
(sdbout_early_global_decl): New.
(sdbout_late_global_decl): New.
* timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
* toplev.c (check_global_declaration): Rename from
check_global_declaration_1.
Adapt to use symtab infrastructure.
(check_global_declarations): Remove.
(emit_debug_global_declarations): Remove.
(compile_file): Remove call to final_write_globals langhook.
Run the actual compilation process.
Perform any post compilation parser cleanups.
Generate late debug info.
* toplev.h (check_global_declaration): New.
(check_global_declaration_1): Remove.
(check_global_declarations): Remove.
(write_global_declarations): Remove.
(emit_debug_global_declarations): Remove.
(global_decl_processing): New.
* tree-core.h (struct tree_block): Add DIE field.
* tree.h (BLOCK_DIE): New.
* vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
throughout.
(vmsdbgout_early_global_decl): New.
(vmsdbgout_late_global_decl): New.
Add early_finish debug hook field to vmsdbg_debug_hooks.
Remove vmsdbgout_decl to vmsdbgout_function_decl.
Add early and late_global_decl debug hooks.

From-SVN: r224161

9 years agostatus_cxx2017.xml: Update status tables.
Jonathan Wakely [Fri, 5 Jun 2015 17:17:53 +0000 (18:17 +0100)]
status_cxx2017.xml: Update status tables.

* doc/xml/manual/status_cxx2017.xml: Update status tables.
* doc/html/manual/*: Regenerate.
* include/std/type_traits (bool_constant): Define.
* testsuite/20_util/bool_constant/requirements.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.

From-SVN: r224160

9 years ago[multiple changes]
Steven G. Kargl [Fri, 5 Jun 2015 16:54:53 +0000 (16:54 +0000)]
[multiple changes]

2015-06-03  Russell Whitesides  <russelldub@gmail.com>
    Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/40958
PR fortran/60780
PR fortran/66377
* module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
from different modules.  Eliminate the pruning of unused
equivalence-objects

2015-06-03  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66377
gfortran.dg/equiv_9.f90: New test.

From-SVN: r224159

9 years agoshared_mutex (__shared_mutex_pthread, [...]): New helper types implementing the share...
Jonathan Wakely [Fri, 5 Jun 2015 16:31:05 +0000 (17:31 +0100)]
shared_mutex (__shared_mutex_pthread, [...]): New helper types implementing the shared mutex requirements.

* include/std/shared_mutex (__shared_mutex_pthread,
__shared_mutex_cv): New helper types implementing the shared mutex
requirements.
(shared_mutex): New type for C++17.
(shared_timed_mutex): Derive from one of the new helper types.
* testsuite/30_threads/shared_mutex/cons/1.cc: New.
* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
* testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
New.
* testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
* testsuite/30_threads/shared_mutex/try_lock/2.cc: New.

From-SVN: r224158

9 years agoprint-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
Julian Brown [Fri, 5 Jun 2015 16:01:45 +0000 (16:01 +0000)]
print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.

2015-06-05  Julian Brown  <julian@codesourcery.com>
    Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
* config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
to print-sysroot-suffix.sh script.

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

9 years agoFix date of ChangeLog entry.
Jonathan Wakely [Fri, 5 Jun 2015 16:00:04 +0000 (17:00 +0100)]
Fix date of ChangeLog entry.

From-SVN: r224155

9 years agoAdd transform_to_exit_first_loop_alt
Tom de Vries [Fri, 5 Jun 2015 15:57:34 +0000 (15:57 +0000)]
Add transform_to_exit_first_loop_alt

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

merge from gomp4 branch:
2015-05-28  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65443
* tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
(replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
(try_transform_to_exit_first_loop_alt): New function.
(transform_to_exit_first_loop): Use
try_transform_to_exit_first_loop_alt.

* gcc.dg/parloops-exit-first-loop-alt-2.c: New test.
* gcc.dg/parloops-exit-first-loop-alt-3.c: New test.
* gcc.dg/parloops-exit-first-loop-alt.c: New test.

* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.

From-SVN: r224154

9 years agoAdd __is_nothrow_swappable and take it into use.
Ville Voutilainen [Fri, 5 Jun 2015 14:44:26 +0000 (17:44 +0300)]
Add __is_nothrow_swappable and take it into use.

2015-06-04  Ville Voutilainen  <ville.voutilainen@gmail.com>

Add __is_nothrow_swappable and take it into use.
* include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
* include/bits/move.h (swap): Add constraints in C++11 and later.
* include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
for the free swap function for pair.
* include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
for the free swap functions for queue and priority_queue.
* include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
for the free swap function for stack.
* include/debug/array (swap): Use __is_nothrow_swappable
for the free swap function for array.
* include/profile/array (swap): Likewise.
* include/std/array (swap): Likewise.
* include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
* include/std/type_traits (__is_swappable_impl::__is_swappable,
__is_nothrow_swappable_impl, __is_nothrow_swappable): New.
* testsuite/20_util/is_nothrow_swappable/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
New.
* testsuite/20_util/is_nothrow_swappable/value.cc: New.

From-SVN: r224153

9 years agore PR c++/52595 ([DR 325] commas and non-static data member initializers don't mix)
Nathan Sidwell [Fri, 5 Jun 2015 13:35:30 +0000 (13:35 +0000)]
re PR c++/52595 ([DR 325] commas and non-static data member initializers don't mix)

cp/
PR c++/52595
* parser.c (cp_parser_cache_defarg): Continue looking for
declarators when scanning a potential template argument list of an
NSDMI.

testsuite/
PR c++/52595
* g++,dg/cpp0x/nsdmi-defer5.C: Add template case.

From-SVN: r224152

9 years ago* config/linux/x86/futex_bits.h (sys_futex0): Cosmetics.
Uros Bizjak [Fri, 5 Jun 2015 10:57:07 +0000 (12:57 +0200)]
* config/linux/x86/futex_bits.h (sys_futex0): Cosmetics.

From-SVN: r224151

9 years agofutex.h (futex_wait): Remove doouble initialization.
Uros Bizjak [Fri, 5 Jun 2015 10:56:14 +0000 (12:56 +0200)]
futex.h (futex_wait): Remove doouble initialization.

* config/linux/x86/futex.h (futex_wait) [__x86_64__]:
Remove doouble initialization.

From-SVN: r224150

9 years agoneon-reload-class.c: Remove movw and movt.
Kugan Vivekanandarajah [Fri, 5 Jun 2015 09:17:08 +0000 (09:17 +0000)]
neon-reload-class.c: Remove movw and movt.

gcc/testsuite/ChangeLog:

2015-06-05  Kugan Vivekanandarajah  <kuganv@linaro.org>

* gcc.target/arm/neon-reload-class.c: Remove movw and movt.

From-SVN: r224149

9 years ago[Patch] The comparison in a compare exchange should not take place in VOIDmode
James Greenhalgh [Fri, 5 Jun 2015 08:47:44 +0000 (08:47 +0000)]
[Patch] The comparison in a compare exchange should not take place in VOIDmode

gcc/

* builtins.c (expand_builtin_atomic_compare_exchange): Call
emit_cmp_and_jump_insns with the mode of target.

From-SVN: r224148

9 years agosse.md (sse3_mwait): Swap the operand constriants.
Venkataramanan Kumar [Fri, 5 Jun 2015 06:38:32 +0000 (06:38 +0000)]
sse.md (sse3_mwait): Swap the operand constriants.

2015-06-05  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        * config/i386/sse.md (sse3_mwait): Swap the operand constriants.

From-SVN: r224146

9 years agomsp430.md (movsi_s): New.
DJ Delorie [Fri, 5 Jun 2015 05:00:05 +0000 (01:00 -0400)]
msp430.md (movsi_s): New.

* config/msp430/msp430.md (movsi_s): New.  Special case for
storing a 20-bit symbol into a 32-bit register.
* config/msp430/msp430.c (msp430_subreg): Add support for it.
* config/msp430/predicates.md (msp430_symbol_operand): New.

From-SVN: r224145

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

From-SVN: r224143

9 years agodiag-5.mm: Adjust per r224097.
Paolo Carlini [Thu, 4 Jun 2015 21:18:46 +0000 (21:18 +0000)]
diag-5.mm: Adjust per r224097.

2015-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

* obj-c++.dg/tls/diag-5.mm: Adjust per r224097.

From-SVN: r224139

9 years agoc-common.c (noplt): New attribute.
Sriraman Tallam [Thu, 4 Jun 2015 21:14:10 +0000 (21:14 +0000)]
c-common.c (noplt): New attribute.

2015-06-04  Sriraman Tallam  <tmsriram@google.com>

* c-family/c-common.c (noplt): New attribute.
(handle_noplt_attribute): New handler.
* calls.c (prepare_call_address): Check for noplt
attribute.
* config/i386/i386.c (ix86_expand_call): Check
for noplt attribute.
(ix86_nopic_noplt_attribute_p): New function.
(ix86_output_call_insn): Output indirect call for non-pic
no plt calls.
* doc/extend.texi (noplt): Document new attribute.
* doc/invoke.texi: Document new attribute.
* testsuite/gcc.target/i386/noplt-1.c: New test.
* testsuite/gcc.target/i386/noplt-2.c: New test.
* testsuite/gcc.target/i386/noplt-3.c: New test.
* testsuite/gcc.target/i386/noplt-4.c: New test.

This patch does two things:

* Adds new generic function attribute "noplt" that is similar in functionality
  to -fno-plt except that it applies only to calls to functions that are marked
  with this attribute.
* For x86_64, it makes -fno-plt(and the attribute) also work for non-PIC code by
  directly generating an indirect call via a GOT entry.

From-SVN: r224138

9 years agore PR fortran/58749 (PACK(ADJUSTL([" a"," b"]), [.TRUE.,.FALSE.]) causes an internal...
Thomas Koenig [Thu, 4 Jun 2015 18:55:29 +0000 (18:55 +0000)]
re PR fortran/58749 (PACK(ADJUSTL([" a"," b"]), [.TRUE.,.FALSE.]) causes an internal compiler error)

2015-06-04  Thomas Koenig  <tkoenig@netcologne.de>

PR fortran/58749
* iresolve.c (gfc_resolve_adjustl):  If string has a charlen,
copy it to the function.
(gfc_resolve_adjustr):  Likewise.

2015-06-04  Thomas Koenig  <tkoenig@netcologne.de>

PR fortran/58749
* gfortran.dg/adjustl_1.f90:  New test.

From-SVN: r224137

9 years agocoretypes.h: Include machmode.h...
Andrew MacLeod [Thu, 4 Jun 2015 17:49:54 +0000 (17:49 +0000)]
coretypes.h: Include machmode.h...

2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

* coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
real.h, and fixed-value.h when included in host source files.
* double-int.h: Remove redundant #includes listed above.
* fixed-value.h: Likewise.
* real.h: Likewise.
* wide-int.h: Likewise.
* inchash.h: Likewise.
* rtl.h: Add some include files When included from a generator file.
* target.h: Remove wide-int.h and insn-modes.h from the include list.
* internal-fn.h: Don't include coretypes.h.
* alias.c: Adjust includes for restructured coretypes.h.
* asan.c: Likewise.
* attribs.c: Likewise.
* auto-inc-dec.c: Likewise.
* auto-profile.c: Likewise.
* bb-reorder.c: Likewise.
* bt-load.c: Likewise.
* builtins.c: Likewise.
* caller-save.c: Likewise.
* calls.c: Likewise.
* ccmp.c: Likewise.
* cfg.c: Likewise.
* cfganal.c: Likewise.
* cfgbuild.c: Likewise.
* cfgcleanup.c: Likewise.
* cfgexpand.c: Likewise.
* cfghooks.c: Likewise.
* cfgloop.c: Likewise.
* cfgloop.h: Likewise.
* cfgloopanal.c: Likewise.
* cfgloopmanip.c: Likewise.
* cfgrtl.c: Likewise.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* cgraphclones.c: Likewise.
* cgraphunit.c: Likewise.
* cilk-common.c: Likewise.
* combine-stack-adj.c: Likewise.
* combine.c: Likewise.
* compare-elim.c: Likewise.
* convert.c: Likewise.
* coverage.c: Likewise.
* cppbuiltin.c: Likewise.
* cprop.c: Likewise.
* cse.c: Likewise.
* cselib.c: Likewise.
* data-streamer-in.c: Likewise.
* data-streamer-out.c: Likewise.
* data-streamer.c: Likewise.
* dbxout.c: Likewise.
* dce.c: Likewise.
* ddg.c: Likewise.
* debug.c: Likewise.
* df-core.c: Likewise.
* df-problems.c: Likewise.
* df-scan.c: Likewise.
* df.h: Likewise.
* dfp.c: Likewise.
* dojump.c: Likewise.
* dominance.c: Likewise.
* domwalk.c: Likewise.
* double-int.c: Likewise.
* dse.c: Likewise.
* dumpfile.c: Likewise.
* dwarf2asm.c: Likewise.
* dwarf2cfi.c: Likewise.
* dwarf2out.c: Likewise.
* dwarf2out.h: Likewise.
* emit-rtl.c: Likewise.
* et-forest.c: Likewise.
* except.c: Likewise.
* explow.c: Likewise.
* expmed.c: Likewise.
* expr.c: Likewise.
* final.c: Likewise.
* fixed-value.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* fwprop.c: Likewise.
* gcc-plugin.h: Likewise.
* gcse.c: Likewise.
* generic-match-head.c: Likewise.
* ggc-page.c: Likewise.
* gimple-builder.c: Likewise.
* gimple-expr.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-iterator.c: Likewise.
* gimple-low.c: Likewise.
* gimple-match-head.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimple-ssa-isolate-paths.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple-streamer-in.c: Likewise.
* gimple-streamer-out.c: Likewise.
* gimple-streamer.h: Likewise.
* gimple-walk.c: Likewise.
* gimple.c: Likewise.
* gimplify-me.c: Likewise.
* gimplify.c: Likewise.
* godump.c: Likewise.
* graph.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-isl-ast-to-gimple.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* haifa-sched.c: Likewise.
* hooks.h: Likewise.
* hw-doloop.c: Likewise.
* ifcvt.c: Likewise.
* incpath.c: Likewise.
* init-regs.c: Likewise.
* internal-fn.c: Likewise.
* ipa-chkp.c: Likewise.
* ipa-comdats.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-devirt.c: Likewise.
* ipa-icf-gimple.c: Likewise.
* ipa-icf.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-polymorphic-call.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-ref.c: Likewise.
* ipa-reference.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* ipa-visibility.c: Likewise.
* ipa.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-conflicts.c: Likewise.
* ira-costs.c: Likewise.
* ira-emit.c: Likewise.
* ira-lives.c: Likewise.
* ira.c: Likewise.
* jump.c: Likewise.
* langhooks.c: Likewise.
* lcm.c: Likewise.
* loop-doloop.c: Likewise.
* loop-init.c: Likewise.
* loop-invariant.c: Likewise.
* loop-iv.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* lra-assigns.c: Likewise.
* lra-coalesce.c: Likewise.
* lra-constraints.c: Likewise.
* lra-eliminations.c: Likewise.
* lra-lives.c: Likewise.
* lra-remat.c: Likewise.
* lra-spills.c: Likewise.
* lra.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-compress.c: Likewise.
* lto-opts.c: Likewise.
* lto-section-in.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* mcf.c: Likewise.
* mode-switching.c: Likewise.
* modulo-sched.c: Likewise.
* omega.c: Likewise.
* omp-low.c: Likewise.
* optabs.c: Likewise.
* opts-global.c: Likewise.
* passes.c: Likewise.
* plugin.c: Likewise.
* postreload-gcse.c: Likewise.
* postreload.c: Likewise.
* predict.c: Likewise.
* print-rtl.c: Likewise.
* print-tree.c: Likewise.
* profile.c: Likewise.
* real.c: Likewise.
* realmpfr.c: Likewise.
* realmpfr.h: Likewise.
* recog.c: Likewise.
* ree.c: Likewise.
* reg-stack.c: Likewise.
* regcprop.c: Likewise.
* reginfo.c: Likewise.
* regrename.c: Likewise.
* regs.h: Likewise.
* regstat.c: Likewise.
* reload.c: Likewise.
* reload1.c: Likewise.
* reorg.c: Likewise.
* resource.c: Likewise.
* rtl-chkp.c: Likewise.
* rtlanal.c: Likewise.
* rtlhooks.c: Likewise.
* sanopt.c: Likewise.
* sched-deps.c: Likewise.
* sched-ebb.c: Likewise.
* sched-rgn.c: Likewise.
* sched-vis.c: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched.c: Likewise.
* sese.c: Likewise.
* shrink-wrap.c: Likewise.
* shrink-wrap.h: Likewise.
* simplify-rtx.c: Likewise.
* stack-ptr-mod.c: Likewise.
* statistics.c: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* stringpool.c: Likewise.
* symtab.c: Likewise.
* target-globals.c: Likewise.
* targhooks.c: Likewise.
* toplev.c: Likewise.
* tracer.c: Likewise.
* trans-mem.c: Likewise.
* tree-affine.c: Likewise.
* tree-affine.h: Likewise.
* tree-browser.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chkp-opt.c: Likewise.
* tree-chkp.c: Likewise.
* tree-chrec.c: Likewise.
* tree-complex.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-dfa.c: Likewise.
* tree-diagnostic.c: Likewise.
* tree-dump.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-iterator.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-nested.c: Likewise.
* tree-nrv.c: Likewise.
* tree-object-size.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-phinodes.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-pretty-print.h: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-alias.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-dse.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-loop.h: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-operands.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-scopedtables.c: Likewise.
* tree-ssa-sink.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-ter.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssanames.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* tree-streamer.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* tsan.c: Likewise.
* ubsan.c: Likewise.
* valtrack.c: Likewise.
* value-prof.c: Likewise.
* var-tracking.c: Likewise.
* varasm.c: Likewise.
* varpool.c: Likewise.
* vmsdbgout.c: Likewise.
* vtable-verify.c: Likewise.
* web.c: Likewise.
* wide-int-print.cc: Likewise.
* wide-int-print.h: Likewise.
* wide-int.cc: Likewise.
* xcoffout.c: Likewise.
* config/aarch64/aarch64-builtins.c: Likewise.
* config/aarch64/aarch64.c: Likewise.
* config/aarch64/cortex-a57-fma-steering.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/arc/arc.c: Likewise.
* config/arm/aarch-common.c: Likewise.
* config/arm/arm-builtins.c: Likewise.
* config/arm/arm-c.c: Likewise.
* config/arm/arm.c: Likewise.
* config/avr/avr-c.c: Likewise.
* config/avr/avr-log.c: Likewise.
* config/avr/avr.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/cr16/cr16.c: Likewise.
* config/cris/cris.c: Likewise.
* config/darwin-c.c: Likewise.
* config/darwin.c: Likewise.
* config/default-c.c: Likewise.
* config/epiphany/epiphany.c: Likewise.
* config/epiphany/mode-switch-use.c: Likewise.
* config/epiphany/resolve-sw-modes.c: Likewise.
* config/fr30/fr30.c: Likewise.
* config/frv/frv.c: Likewise.
* config/ft32/ft32.c: Likewise.
* config/glibc-c.c: Likewise.
* config/h8300/h8300.c: Likewise.
* config/i386/i386-c.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/msformat-c.c: Likewise.
* config/i386/winnt-cxx.c: Likewise.
* config/i386/winnt-stubs.c: Likewise.
* config/i386/winnt.c: Likewise.
* config/ia64/ia64-c.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/iq2000/iq2000.c: Likewise.
* config/lm32/lm32.c: Likewise.
* config/m32c/m32c-pragma.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/m32r/m32r.c: Likewise.
* config/m68k/m68k.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mep/mep-pragma.c: Likewise.
* config/mep/mep.c: Likewise.
* config/microblaze/microblaze-c.c: Likewise.
* config/microblaze/microblaze.c: Likewise.
* config/mips/mips.c: Likewise.
* config/mmix/mmix.c: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/moxie/moxie.c: Likewise.
* config/msp430/msp430-c.c: Likewise.
* config/msp430/msp430.c: Likewise.
* config/nds32/nds32-cost.c: Likewise.
* config/nds32/nds32-fp-as-gp.c: Likewise.
* config/nds32/nds32-intrinsic.c: Likewise.
* config/nds32/nds32-isr.c: Likewise.
* config/nds32/nds32-md-auxiliary.c: Likewise.
* config/nds32/nds32-memory-manipulation.c: Likewise.
* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
* config/nds32/nds32-predicates.c: Likewise.
* config/nds32/nds32.c: Likewise.
* config/nios2/nios2.c: Likewise.
* config/nvptx/nvptx.c: Likewise.
* config/pa/pa.c: Likewise.
* config/pdp11/pdp11.c: Likewise.
* config/rl78/rl78-c.c: Likewise.
* config/rl78/rl78.c: Likewise.
* config/rs6000/rs6000-c.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rx/rx.c: Likewise.
* config/s390/s390-c.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh-c.c: Likewise.
* config/sh/sh-mem.cc: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh_optimize_sett_clrt.cc: Likewise.
* config/sh/sh_treg_combine.cc: Likewise.
* config/sol2-c.c: Likewise.
* config/sol2-cxx.c: Likewise.
* config/sol2-stubs.c: Likewise.
* config/sol2.c: Likewise.
* config/sparc/sparc-c.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu-c.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/tilegx/mul-tables.c: Likewise.
* config/tilegx/tilegx-c.c: Likewise.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/mul-tables.c: Likewise.
* config/tilepro/tilepro-c.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
* config/v850/v850-c.c: Likewise.
* config/v850/v850.c: Likewise.
* config/vax/vax.c: Likewise.
* config/visium/visium.c: Likewise.
* config/vms/vms-c.c: Likewise.
* config/vms/vms.c: Likewise.
* config/vxworks.c: Likewise.
* config/winnt-c.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
* common/config/bfin/bfin-common.c: Likewise.
ada
2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

* gcc-interface/cuintp.c: Adjust includes for restructured coretypes.h.
* gcc-interface/decl.c: Likewise.
* gcc-interface/misc.c: Likewise.
* gcc-interface/targtyps.c: Likewise.
* gcc-interface/trans.c: Likewise.
* gcc-interface/utils.c: Likewise.
* gcc-interface/utils2.c: Likewise.

c
2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

* c-array-notation.c: Adjust includes for restructured coretypes.h.
* c-aux-info.c: Likewise.
* c-convert.c: Likewise.
* c-decl.c: Likewise.
* c-errors.c: Likewise.
* c-lang.c: Likewise.
* c-objc-common.c: Likewise.
* c-parser.c: Likewise.
* c-typeck.c: Likewise.

c-family
2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

* array-notation-common.c: Adjust includes for restructured coretypes.h.
* c-ada-spec.c: Likewise.
* c-cilkplus.c: Likewise.
* c-common.c: Likewise.
* c-common.h: Likewise.
* c-cppbuiltin.c: Likewise.
* c-dump.c: Likewise.
* c-format.c: Likewise.
* c-gimplify.c: Likewise.
* c-indentation.c: Likewise.
* c-lex.c: Likewise.
* c-omp.c: Likewise.
* c-opts.c: Likewise.
* c-pch.c: Likewise.
* c-ppoutput.c: Likewise.
* c-pragma.c: Likewise.
* c-pretty-print.c: Likewise.
* c-semantics.c: Likewise.
* c-ubsan.c: Likewise.
* cilk.c: Likewise.
* stub-objc.c: Likewise.

cp
2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

* call.c: Adjust includes for restructured coretypes.h.
* class.c: Likewise.
* constexpr.c: Likewise.
* cp-array-notation.c: Likewise.
* cp-gimplify.c: Likewise.
* cp-lang.c: Likewise.
* cp-objcp-common.c: Likewise.
* cp-tree.h: Likewise.
* cp-ubsan.c: Likewise.
* cvt.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* dump.c: Likewise.
* error.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* friend.c: Likewise.
* init.c: Likewise.
* lambda.c: Likewise.
* lex.c: Likewise.
* mangle.c: Likewise.
* method.c: Likewise.
* name-lookup.c: Likewise.
* optimize.c: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* ptree.c: Likewise.
* repo.c: Likewise.
* rtti.c: Likewise.
* search.c: Likewise.
* semantics.c: Likewise.
* tree.c: Likewise.
* typeck.c: Likewise.
* typeck2.c: Likewise.
* vtable-class-hierarchy.c: Likewise.

fortran
2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

* convert.c: Adjust includes for restructured coretypes.h.
* cpp.c: Likewise.
* decl.c: Likewise.
* f95-lang.c: Likewise.
* iresolve.c: Likewise.
* match.c: Likewise.
* module.c: Likewise.
* options.c: Likewise.
* target-memory.c: Likewise.
* trans-array.c: Likewise.
* trans-common.c: Likewise.
* trans-const.c: Likewise.
* trans-decl.c: Likewise.
* trans-expr.c: Likewise.
* trans-intrinsic.c: Likewise.
* trans-io.c: Likewise.
* trans-openmp.c: Likewise.
* trans-stmt.c: Likewise.
* trans-types.c: Likewise.
* trans.c: Likewise.

go
2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

* go-backend.c: Adjust includes for restructured coretypes.h.
* go-c.h: Likewise.
* go-gcc.cc: Likewise.
* go-lang.c: Likewise.

java
2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

* boehm.c: Adjust includes for restructured coretypes.h.
* builtins.c: Likewise.
* class.c: Likewise.
* constants.c: Likewise.
* decl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* java-gimplify.c: Likewise.
* jcf-dump.c: Likewise.
* jcf-io.c: Likewise.
* jcf-parse.c: Likewise.
* jvgenmain.c: Likewise.
* lang.c: Likewise.
* mangle.c: Likewise.
* mangle_name.c: Likewise.
* resource.c: Likewise.
* typeck.c: Likewise.
* verify-glue.c: Likewise.
* verify-impl.c: Likewise.

jit
2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

* dummy-frontend.c: Adjust includes for restructured coretypes.h.
* jit-common.h: Likewise.
* jit-playback.c: Likewise.

lto
2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

* lto-lang.c: Adjust includes for restructured coretypes.h.
* lto-object.c: Likewise.
* lto-partition.c: Likewise.
* lto-symtab.c: Likewise.
* lto.c: Likewise.

objc
2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

* objc-act.c: Adjust includes for restructured coretypes.h.
* objc-encoding.c: Likewise.
* objc-gnu-runtime-abi-01.c: Likewise.
* objc-lang.c: Likewise.
* objc-map.c: Likewise.
* objc-next-runtime-abi-01.c: Likewise.
* objc-next-runtime-abi-02.c: Likewise.
* objc-runtime-shared-support.c: Likewise.

objcp
2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

* objcp-decl.c: Adjust includes for restructured coretypes.h.
* objcp-lang.c: Likewise.

From-SVN: r224136

9 years agolto.c (hash_canonical_type): Use tree_code_for_canonical_type_merging.
Jan Hubicka [Thu, 4 Jun 2015 16:38:50 +0000 (18:38 +0200)]
lto.c (hash_canonical_type): Use tree_code_for_canonical_type_merging.

* lto.c (hash_canonical_type): Use tree_code_for_canonical_type_merging.

* tree.h (tree_code_for_canonical_type_merging): New function.
* tree.c (gimple_canonical_types_compatible_p): Use
tree_code_for_canonical_type_merging..
* gcc.dg/lto/c-compatible-types_0.c: New testcase.
* gcc.dg/lto/c-compatible-types_1.c: New testcase.

From-SVN: r224135

9 years ago* MAINTAINERS (gen* on machine desc): Add self.
Richard Sandiford [Thu, 4 Jun 2015 15:19:58 +0000 (15:19 +0000)]
* MAINTAINERS (gen* on machine desc): Add self.

From-SVN: r224127

9 years agodecl.c (gnat_to_gnu_entity): If processing a definition...
Pierre-Marie de Rodat [Thu, 4 Jun 2015 10:38:17 +0000 (10:38 +0000)]
decl.c (gnat_to_gnu_entity): If processing a definition...

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: If
processing a definition, create definitions for padding types
around return types.

From-SVN: r224121

9 years agore PR target/66369 (gcc 4.8.3/5.1.0 miss optimisation with vpmovmskb)
Uros Bizjak [Thu, 4 Jun 2015 10:06:11 +0000 (12:06 +0200)]
re PR target/66369 (gcc 4.8.3/5.1.0 miss optimisation with vpmovmskb)

PR target/66369
* config/i386/sse.md (<sse2_avx2>_pmovmsk): Merge from avx2_pmovmskb
and sse2_pmovmskb using VI1_AVX2 mode iterator.
(*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_zext): New insn pattern.
(*<sse2_avx2>_pmovmskb_zext): Ditto.

From-SVN: r224120

9 years ago[patch, testsuite, ARM] don't clobber dg-do-what-default in advsimd-intrinsics.exp
Sandra Loosemore [Thu, 4 Jun 2015 10:02:12 +0000 (06:02 -0400)]
[patch, testsuite, ARM] don't clobber dg-do-what-default in advsimd-intrinsics.exp

gcc/testsuite/

* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
Move set of dg-do-what-default after early return.

From-SVN: r224119

9 years agoRemove TARGET_RELAXED_ORDERING and optimize for weak memory models.
Ramana Radhakrishnan [Thu, 4 Jun 2015 09:19:51 +0000 (09:19 +0000)]
Remove TARGET_RELAXED_ORDERING and optimize for weak memory models.

This patch removes the special casing for targets with relaxed
memory ordering and handles guard accesses with equivalent
atomic load acquire operations. In this process we change the
algorithm to load the guard variable with an atomic load that
has ACQUIRE semantics.

This then means that on targets which have weak memory models, the
fast path is inlined and can directly use a load-acquire instruction
where available (and yay! one more hook gone).

2015-06-04  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR c++/66192
PR target/66200
* doc/tm.texi: Regenerate.
* doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
* target.def (TARGET_RELAXED_ORDERING): Likewise.
* config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
* config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
* config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
* config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
* config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
* config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
* system.h (TARGET_RELAXED_ORDERING): Poison.

2015-06-04  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR c++/66192
PR target/66200
* cp-tree.h (get_guard_cond): Adjust declaration
* decl.c (expand_static_init): Use atomic load acquire
and adjust call to get_guard_cond.
* decl2.c (build_atomic_load_byte): New function.
(get_guard_cond): Handle thread_safety.
(one_static_initialization_or_destruction): Adjust call to
get_guard_cond.

From-SVN: r224118

9 years ago[AArch64] Always register fma_steering pass but gate it on the target option instead
Kyrylo Tkachov [Thu, 4 Jun 2015 08:29:31 +0000 (08:29 +0000)]
[AArch64] Always register fma_steering pass but gate it on the target option instead

* config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
register fma steering pass.
* config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
AARCH64_TUNE_FMA_STEERING.

From-SVN: r224116

9 years agore PR c/66341 (Some casts wrongly produce a lvalue)
Marek Polacek [Thu, 4 Jun 2015 08:17:45 +0000 (08:17 +0000)]
re PR c/66341 (Some casts wrongly produce a lvalue)

PR c/66341
* c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if
it is a lvalue.

* gcc.dg/lvalue-8.c: New test.

From-SVN: r224115

9 years agoDaily bump.
GCC Administrator [Thu, 4 Jun 2015 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224112

9 years agolto.c (iterative_hash_canonical_type, [...]): only hash main variants of types
Jan Hubicka [Wed, 3 Jun 2015 23:13:49 +0000 (01:13 +0200)]
lto.c (iterative_hash_canonical_type, [...]): only hash main variants of types

* lto.c (iterative_hash_canonical_type,
gimple_register_canonical_type): only hash main variants of types
* tree.c (verify_type_variant): Verify that type and variant is
compatible.
(gimple_canonical_types_compatible_p): Look for main variants.

From-SVN: r224107

9 years agore PR c++/44282 (fastcall is not mangled at all)
Jason Merrill [Wed, 3 Jun 2015 21:09:25 +0000 (17:09 -0400)]
re PR c++/44282 (fastcall is not mangled at all)

PR c++/44282
* mangle.c (mangle_decl): Always SET_IDENTIFIER_GLOBAL_VALUE.
(write_CV_qualifiers_for_type): Set G.need_abi_warning.
(decl_implicit_alias_p): Split out from maybe_remove_implicit_alias.
* cp-tree.h (DECL_REALLY_EXTERN): Handle null DECL_LANG_SPECIFIC.

From-SVN: r224101

9 years ago2015-06-03 François Dumont fdumont@gcc.gnu.org>
François Dumont [Wed, 3 Jun 2015 20:15:35 +0000 (20:15 +0000)]
2015-06-03  François Dumont  fdumont@gcc.gnu.org>

* testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode.

From-SVN: r224100

9 years agore PR c++/66130 ("invalid use of non-static member function" message could be clearer)
Manuel López-Ibáñez [Wed, 3 Jun 2015 19:23:20 +0000 (19:23 +0000)]
re PR c++/66130 ("invalid use of non-static member function" message could be clearer)

2015-06-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/66130
* typeck.c (invalid_nonstatic_memfn_p): Add location_t parameter and
use it in the diagnostic.
(decay_conversion): Adjust call.
* semantics.c (finish_decltype_type): Likewise.
* call.c (resolve_args, build_new_op_1,
perform_implicit_conversion_flags): Adjust calls.
* cvt.c (ocp_convert, convert_to_void): Likewise.
* cp-tree.h (invalid_nonstatic_memfn_p): Update declaration.

2015-06-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/66130
* g++.dg/other/pr66130.C: New.
* g++.dg/cpp0x/pr66130.C: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r224099

9 years agodecl.c (check_tag_decl): Use declspecs->locations as locations in error_at and warnin...
Paolo Carlini [Wed, 3 Jun 2015 17:08:39 +0000 (17:08 +0000)]
decl.c (check_tag_decl): Use declspecs->locations as locations in error_at and warning_at calls.

/cp
2015-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (check_tag_decl): Use declspecs->locations as locations in
error_at and warning_at calls.

/testsuite
2015-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/decl-loc1.C: New.
* g++.dg/cpp0x/constexpr-neg1.C: Adjust.
* g++.dg/cpp0x/constexpr-object1.C: Likewise.
* g++.dg/init/ctor8.C: Likewise.
* g++.dg/parse/semicolon4.C: Likewise.

From-SVN: r224097

9 years agore PR sanitizer/66190 (ICE: tree code ‘call_expr’ is not supported in LTO streams...
Marek Polacek [Wed, 3 Jun 2015 16:54:24 +0000 (16:54 +0000)]
re PR sanitizer/66190 (ICE: tree code ‘call_expr’ is not supported in LTO streams with -fsanitize=null)

PR sanitizer/66190
* cp-gimplify.c (struct cp_genericize_data): Add no_sanitize_p.
(cp_genericize_r): Don't instrument static initializers.
(cp_genericize_tree): Initialize wtd.no_sanitize_p.

* g++.dg/ubsan/static-init-1.C: New test.
* g++.dg/ubsan/static-init-2.C: New test.
* g++.dg/ubsan/static-init-3.C: New test.

From-SVN: r224096

9 years agoconfig.gcc (powerpc*-*-*): Add support for a new configure option --with-advance...
Michael Meissner [Wed, 3 Jun 2015 16:38:10 +0000 (16:38 +0000)]
config.gcc (powerpc*-*-*): Add support for a new configure option --with-advance-toolchain=<xxx> which...

2015-06-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config.gcc (powerpc*-*-*): Add support for a new configure
option --with-advance-toolchain=<xxx> which overrides using the
default header files, libraries and dynamic linker.

* config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
specs to support the configure --with-advance-toolchain=<xxx>
option.
(INCLUDE_EXTRA_SPEC): Likewise.
(LINK_OS_EXTRA_SPEC32): Likewise.
(LINK_OK_EXTRA_SPEC64): Likewise.
(LINK_OS_NEW_DTAGS_SPEC): Likewise.
(DYNAMIC_LINKER_PREFIX): Likewise.
(CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
toolchain support.
(GLIBC_DYNAMIC_LINKER32): Likewise.
(GLIBC_DYNAMIC_LINKER64): Likewise.
(LINK_OS_LINUX_SPEC32): Likewise.
(LINK_OS_LINUX_SPEC64): Likewise.

* doc/install.texi (--enable-advance-toolchain=<xx>): Document new
configuration option.

From-SVN: r224095

9 years agore PR target/66275 (__attribute__((sysv_abi)) with x86_64-w64-mingw32-gcc generates...
Uros Bizjak [Wed, 3 Jun 2015 15:46:41 +0000 (17:46 +0200)]
re PR target/66275 (__attribute__((sysv_abi)) with x86_64-w64-mingw32-gcc generates incorrect code)

PR target/66275
* config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
to determine current function ABI.
(ix86_function_value_regno_p): Ditto.

testsuite/ChangeLog:

PR target/66275
* gcc.target/i386/pr66275.c: New test.

From-SVN: r224094

9 years agoc-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
Prathamesh Kulkarni [Wed, 3 Jun 2015 15:10:44 +0000 (15:10 +0000)]
c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.

2015-06-03  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

c/
        * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
        Warn for empty struct.
        (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct.

testsuite/
        * gcc.dg/Wcxx-compat-22.c: New testcase.
        * c-c++-common/Wsizeof-pointer-memaccess1.c: Pass -Wno-c++-compat.
        * c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
        * c-c++-common/pr58346-1.c: Likewise.
        * c-c++-common/transparent-union-1.c: Likewise.

From-SVN: r224083

9 years agoFix GNU coding style in memory statistics.
Martin Liska [Wed, 3 Jun 2015 14:49:13 +0000 (16:49 +0200)]
Fix GNU coding style in memory statistics.

* alloc-pool.h (struct pool_usage): Correct GNU coding style.
* bitmap.h (struct bitmap_usage): Likewise.
* ggc-common.c (struct ggc_usage): Likewise.
* mem-stats.h (struct mem_location): Likewise.
(struct mem_usage): Likewise.
* vec.c (struct vec_usage): Likewise.

From-SVN: r224082

9 years agoFix FT32 ChangeLogs
Jeff Law [Wed, 3 Jun 2015 13:39:45 +0000 (07:39 -0600)]
Fix FT32 ChangeLogs

From-SVN: r224080

9 years agonetbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into -Bsymbolic.
Benigno B. Junior [Wed, 3 Jun 2015 13:29:51 +0000 (13:29 +0000)]
netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into -Bsymbolic.

2015-06-03  Benigno B. Junior  <bbj@gentoo.org>

* config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
-Bsymbolic.

From-SVN: r224079

9 years agoplugins.texi (enum plugin_event): New event.
Andres Tiraboschi [Wed, 3 Jun 2015 13:27:11 +0000 (13:27 +0000)]
plugins.texi (enum plugin_event): New event.

        * doc/plugins.texi (enum plugin_event): New event.
        * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
        and PLUGIN_FINISH_FUNCTION.
        * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
        (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.

cp/

        * decl.c (start_function): Call plugin before parsing.
        (finish_function): Call plugin after parsing.

c/

        * c-decl.c (start_function): Call plugin before parsing.
        (finish_function): Call plugin after parsing.

testsuite/

        * g++.dg/plugin/plugin.exp: Add def-plugin-test.C.
        * g++.dg/plugin/def_plugin.c: New file.
        * g++.dg/plugin/def-plugin-test.C: New file.

From-SVN: r224078

9 years agotree-vect-data-refs.c (vect_analyze_group_access): Properly compute GROUP_GAP for...
Richard Biener [Wed, 3 Jun 2015 13:10:13 +0000 (13:10 +0000)]
tree-vect-data-refs.c (vect_analyze_group_access): Properly compute GROUP_GAP for the first element.

2015-06-03  Richard Biener  <rguenther@suse.de>

* tree-vect-data-refs.c (vect_analyze_group_access): Properly
compute GROUP_GAP for the first element.
* tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
on in-group gaps.

* gcc.dg/vect/bb-slp-36.c: New testcase.

From-SVN: r224077

9 years agorl78-real.md: Add peepholes to avoid a register copy when calling a function.
Nick Clifton [Wed, 3 Jun 2015 12:59:38 +0000 (12:59 +0000)]
rl78-real.md: Add peepholes to avoid a register copy when calling a function.

* config/rl78/rl78-real.md: Add peepholes to avoid a register
copy when calling a function.
* config/rl78/rl78.c (need_to_save): Do not push the frame
pointer in an interrupt handler prologue if it is never used.

From-SVN: r224076

9 years ago[ifcvt][obvious] Fix typo in comment
Kyrylo Tkachov [Wed, 3 Jun 2015 12:47:36 +0000 (12:47 +0000)]
[ifcvt][obvious] Fix typo in comment

* ifcvt (end_ifcvt_sequence): Fix typo in comment above.

From-SVN: r224075

9 years agoipa-chkp.c (chkp_maybe_create_clone): Create alias reference when cloning alias node.
Ilya Enkovich [Wed, 3 Jun 2015 11:31:08 +0000 (11:31 +0000)]
ipa-chkp.c (chkp_maybe_create_clone): Create alias reference when cloning alias node.

gcc/

* ipa-chkp.c (chkp_maybe_create_clone): Create alias
reference when cloning alias node.

gcc/testsuite/

* gcc.dg/lto/chkp-removed-alias_0.c: New.

From-SVN: r224074

9 years agoFix memory report layout at various places.
Martin Liska [Wed, 3 Jun 2015 09:36:08 +0000 (11:36 +0200)]
Fix memory report layout at various places.

* alloc-pool.h (struct pool_usage): Correct space padding.
* ggc-page.c (ggc_print_statistics): Align columns in a report.
* mem-stats.h (struct mem_usage): Add argument to print_dash_line.
* tree.c (dump_tree_statistics): Align columns in a report.

From-SVN: r224071

9 years agoPort pool-allocator memory stats to a new infrastructure.
Martin Liska [Wed, 3 Jun 2015 09:33:32 +0000 (11:33 +0200)]
Port pool-allocator memory stats to a new infrastructure.

* alloc-pool.c (allocate_pool_descriptor): Remove.
(struct pool_output_info): Likewise.
(print_alloc_pool_statistics): Likewise.
(dump_alloc_pool_statistics): Likewise.
* alloc-pool.h (struct pool_usage): New struct.
(pool_allocator::initialize): Change usage of memory statistics
to a new interface.
(pool_allocator::release): Likewise.
(pool_allocator::allocate): Likewise.
(pool_allocator::remove): Likewise.
* mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
for a pool allocator.
* mem-stats.h (struct mem_location): Add new ctor.
(struct mem_usage): Add counter for number of
instances.
(mem_alloc_description::register_descriptor): New overload of
* mem-stats.h (mem_location::to_string): New function.
* bitmap.h (struct bitmap_usage): Use this new function.
* ggc-common.c (struct ggc_usage): Likewise.
the function.

From-SVN: r224070

9 years agodefaults.h (SWITCHABLE_TARGET, [...]): Move out of GCC_INSN_FLAGS_H block.
Richard Sandiford [Wed, 3 Jun 2015 09:29:42 +0000 (09:29 +0000)]
defaults.h (SWITCHABLE_TARGET, [...]): Move out of GCC_INSN_FLAGS_H block.

gcc/
* defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
of GCC_INSN_FLAGS_H block.

From-SVN: r224069

9 years ago* gcc-interface/utils.c (copy_type): Also set TYPE_CANONICAL.
Eric Botcazou [Wed, 3 Jun 2015 09:28:07 +0000 (09:28 +0000)]
* gcc-interface/utils.c (copy_type): Also set TYPE_CANONICAL.

From-SVN: r224068

9 years agotrans.c (gnat_to_gnu): Fix typo in latest change.
Eric Botcazou [Wed, 3 Jun 2015 09:22:09 +0000 (09:22 +0000)]
trans.c (gnat_to_gnu): Fix typo in latest change.

* gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>: Fix
typo in latest change.

From-SVN: r224066

9 years agoUpdate check after force_const_mem call in the plus_constant function to see if the...
Andrew Bennett [Wed, 3 Jun 2015 09:15:25 +0000 (09:15 +0000)]
Update check after force_const_mem call in the plus_constant function to see if the value returned is not a NULL_RTX.

2015-06-03  Andrew Bennett  <andrew.bennett@imgtec.com>

gcc/
* explow.c (plus_constant): Update check after force_const_mem call
to see if the value returned is not a NULL_RTX.

From-SVN: r224064

9 years agoipa.c (symbol_table::remove_unreachable_nodes): Don't remove instumentation thunks...
Ilya Enkovich [Wed, 3 Jun 2015 08:29:28 +0000 (08:29 +0000)]
ipa.c (symbol_table::remove_unreachable_nodes): Don't remove instumentation thunks calling reachable functions.

gcc/

* ipa.c (symbol_table::remove_unreachable_nodes): Don't
remove instumentation thunks calling reachable functions.
* lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
* lto/lto-partition.c (privatize_symbol_name_1): New.
(privatize_symbol_name): Privatize both decl and orig_decl
names for instrumented functions.
* cgraph.c (cgraph_node::verify_node): Add transparent
alias chain check for instrumented node.

gcc/testsuite/

* gcc.dg/lto/chkp-privatize-1_0.c: New.
* gcc.dg/lto/chkp-privatize-1_1.c: New.
* gcc.dg/lto/chkp-privatize-2_0.c: New.
* gcc.dg/lto/chkp-privatize-2_1.c: New.

From-SVN: r224063

9 years agore PR c/64223 (same warning repeated twice with same line number)
Marek Polacek [Wed, 3 Jun 2015 08:24:50 +0000 (08:24 +0000)]
re PR c/64223 (same warning repeated twice with same line number)

PR c/64223
PR c/29358
* tree.c (attribute_value_equal): Handle attribute format.
(cmp_attrib_identifiers): Factor out of lookup_ident_attribute.

* gcc.dg/pr64223-1.c: New test.
* gcc.dg/pr64223-2.c: New test.

From-SVN: r224062

9 years agore PR tree-optimization/63916 (value-numbering fails to forward variable addresses)
Richard Biener [Wed, 3 Jun 2015 08:02:10 +0000 (08:02 +0000)]
re PR tree-optimization/63916 (value-numbering fails to forward variable addresses)

2015-06-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/63916
* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
Forward-propagate non-invariant addresses by splicing their
reference ops if the result isn't going to be used by PRE.
(vn_reference_lookup_3): Remove pointless assert.

* gcc.dg/tree-ssa/ssa-fre-45.c: New testcase.

From-SVN: r224061

9 years agore PR middle-end/66375 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
Richard Biener [Wed, 3 Jun 2015 07:57:13 +0000 (07:57 +0000)]
re PR middle-end/66375 (wrong code at -O2 and -O3 on x86_64-linux-gnu)

2015-06-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66375
* tree-scalar-evolution.c (follow_ssa_edge_binary): First
add to the evolution before following SSA edges.

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

From-SVN: r224060

9 years agotree-ssa-loop-ivopts.c (dump_iv): New parameter.
Bin Cheng [Wed, 3 Jun 2015 07:33:50 +0000 (07:33 +0000)]
tree-ssa-loop-ivopts.c (dump_iv): New parameter.

* tree-ssa-loop-ivopts.c (dump_iv): New parameter.
(dump_use, dump_cand, find_induction_variables): Pass new argument
to dump_iv.
(record_use): Preserve the ssa name information in IV.

From-SVN: r224058

9 years agogenpreds.c (mark_mode_tests): Mark all MATCH_CODEs as NO_MODE_TEST.
Richard Sandiford [Wed, 3 Jun 2015 06:28:11 +0000 (06:28 +0000)]
genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as NO_MODE_TEST.

gcc/
* genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
NO_MODE_TEST.
(add_mode_tests): Don't add mode tests if the predicate only
accepts scalar constant integers.  Otherwise, allow the mode
of "op" to be VOIDmode if the predicate does accept such integers.

From-SVN: r224056

9 years agopr65447.c: Increase searching number.
Bin Cheng [Wed, 3 Jun 2015 06:06:35 +0000 (06:06 +0000)]
pr65447.c: Increase searching number.

gcc/testsuite
* gcc.dg/tree-ssa/pr65447.c: Increase searching number.

Also fix date mis-match in ChangeLog.

From-SVN: r224055

9 years agore PR target/66258 (compiling a stdarg function with arch +nofp generates an ICE)
Jim Wilson [Wed, 3 Jun 2015 00:46:19 +0000 (00:46 +0000)]
re PR target/66258 (compiling a stdarg function with arch +nofp generates an ICE)

gcc/
PR target/66258
* config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
!TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
(aarch64_secondary_reload): Likewise
(aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
to !TARGET_FLOAT.
(aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
Likewise.

From-SVN: r224054

9 years agoDaily bump.
GCC Administrator [Wed, 3 Jun 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r224053

9 years agore PR target/65768 (sub-optimimal code for constant Uses in loop)
Kugan Vivekanandarajah [Tue, 2 Jun 2015 22:53:15 +0000 (22:53 +0000)]
re PR target/65768 (sub-optimimal code for constant Uses in loop)

gcc/ChangeLog:

2015-06-03  Kugan Vivekanandarajah  <kuganv@linaro.org>
    Zhenqiang Chen  <zhenqiang.chen@linaro.org>

PR target/65768
* cprop.c (try_replace_reg): Check cost of constants before propagating.

gcc/testsuite/ChangeLog:

2015-06-03  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR target/65768
* gcc.target/arm/maskdata.c: Remove -fno-gcse.

Co-Authored-By: Zhenqiang Chen <zhenqiang.chen@linaro.org>
From-SVN: r224048

9 years agoAdd the PR number that I forgot in m y previous commit.
Steven G. Kargl [Tue, 2 Jun 2015 22:11:10 +0000 (22:11 +0000)]
Add the PR number that I forgot in m y previous commit.

From-SVN: r224044

9 years agosimplify.c (gfc_simplify_reshape): Convert assert into returning NULL, which triggers...
Steven G. Kargl [Tue, 2 Jun 2015 22:08:14 +0000 (22:08 +0000)]
simplify.c (gfc_simplify_reshape): Convert assert into returning NULL, which triggers an error condition.

2015-06-02  Steven G. Kargl  <kargl@gcc.gnu.org>

* simplify.c (gfc_simplify_reshape): Convert assert into returning
NULL, which triggers an error condition.

2015-06-02  Steven G. Kargl  <kargl@gcc.gnu.org>

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

From-SVN: r224043

9 years agors6000-modes.def (IFmode): Define IFmode to provide access to the IBM extended double...
Michael Meissner [Tue, 2 Jun 2015 21:58:24 +0000 (21:58 +0000)]
rs6000-modes.def (IFmode): Define IFmode to provide access to the IBM extended double floating point mode...

2015-06-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
provide access to the IBM extended double floating point mode if
long double is IEEE 128-bit floating point.
(KFmode): Define KFmode to provide access to IEEE 128-bit floating
point if long double is the IBM extended double type.

* config/rs6000/rs6000.opt (-mfloat128-none): New switches to
enable adding IEEE 128-bit floating point support.
(-mfloat128-software): Likewise.
(-mfloat128-sw): Likewise.

* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
128-bit floating point types to occupy any register if
-mlong-double-64.  Do not allow use of IFmode/KFmode unless
-mfloat128-software is enabled.
(rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
support.
(rs6000_option_override_internal): Add -mfloat128-* support.
(rs6000_init_builtins): Setup __ibm128 and __float128 type modes.

* config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
and float128 type nodes.
(ieee128_float_type_node): Likewise.
(ibm128_float_type_node): Likewise.

From-SVN: r224042

9 years agoPR c/66220: Fix false positive from -Wmisleading-indentation
David Malcolm [Tue, 2 Jun 2015 18:45:50 +0000 (18:45 +0000)]
PR c/66220: Fix false positive from -Wmisleading-indentation

gcc/c-family/ChangeLog:
PR c/66220:
* c-indentation.c (should_warn_for_misleading_indentation): Use
expand_location rather than expand_location_to_spelling_point.
Don't warn if the guarding statement is more indented than the
next/body stmts.

gcc/testsuite/ChangeLog:
PR c/66220:
* c-c++-common/Wmisleading-indentation.c (fn_35): New.
(fn_36): New.

From-SVN: r224041

9 years agoAvoid unnecessary work when -Wmisleading-indentation isn't enabled
David Malcolm [Tue, 2 Jun 2015 18:39:49 +0000 (18:39 +0000)]
Avoid unnecessary work when -Wmisleading-indentation isn't enabled

gcc/c-family/ChangeLog:
* c-indentation.c (warn_for_misleading_indentation): Bail out
immediately if -Wmisleading-indentation isn't enabled.

From-SVN: r224040

9 years agore PR bootstrap/66319 (gcov-tool.c:84:65: error: invalid conversion from 'int (*...
Jason Merrill [Tue, 2 Jun 2015 17:50:23 +0000 (13:50 -0400)]
re PR bootstrap/66319 (gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)')

PR bootstrap/66319
* configure.ac: Use -std=gnu++98.

From-SVN: r224039

9 years ago* g++.dg/warn/Wsystem-headers1.C: Use extern "C".
Jason Merrill [Tue, 2 Jun 2015 17:50:18 +0000 (13:50 -0400)]
* g++.dg/warn/Wsystem-headers1.C: Use extern "C".

From-SVN: r224038

9 years agocp-tree.h (init_error): Remove declaration.
Patrick Palka [Tue, 2 Jun 2015 17:50:13 +0000 (00:50 +0700)]
cp-tree.h (init_error): Remove declaration.

* cp-tree.h (init_error): Remove declaration.
* error.c (scratch_pretty_printer): Rename to ...
(actual_pretty_printer): ... this.
(cxx_pp): Constify and update accordingly.
(init_error): Remove definition.
* lex.c (cxx_init): Do not call init_error.

From-SVN: r224037

9 years agotest_installed (--target=): New option.
Steve Ellcey [Tue, 2 Jun 2015 17:12:16 +0000 (17:12 +0000)]
test_installed (--target=): New option.

2015-06-02  Steve Ellcey  <sellcey@imgtec.com>

* test_installed (--target=): New option.

From-SVN: r224034

9 years agore PR target/49551 (tentative declaration after definition and -fdata-sections cause...
Prathamesh Kulkarni [Tue, 2 Jun 2015 16:42:27 +0000 (16:42 +0000)]
re PR target/49551 (tentative declaration after definition and -fdata-sections cause ICE in C front-end.)

2015-06-02  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

        PR c/49551
        * c-decl.c (merge_decls): Merge DECL_COMMON.
        * gcc.dg/pr49551.c: New test-case.

From-SVN: r224033

9 years agoMAINTAINERS (Write After Approval): Add myself.
Szabolcs Nagy [Tue, 2 Jun 2015 16:39:19 +0000 (16:39 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2015-06-02  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r224032

9 years ago[AArch64][PR 66136] rewrite geniterators.sh in awk
Szabolcs Nagy [Tue, 2 Jun 2015 16:21:18 +0000 (16:21 +0000)]
[AArch64][PR 66136] rewrite geniterators.sh in awk

2015-06-02  Szabolcs Nagy  <szabolcs.nagy@arm.com>

PR target/66136
* config/aarch64/geniterators.sh: Rewrite in awk.

From-SVN: r224031

9 years agoPool allocator fallout: fix uninialized class members.
Martin Liska [Tue, 2 Jun 2015 14:10:17 +0000 (16:10 +0200)]
Pool allocator fallout: fix uninialized class members.

* alloc-pool.h (pool_allocator::pool_allocator): Set implicit
values to avoid -Wmaybe-uninitialized errors.

From-SVN: r224030

9 years agore PR debug/65549 (crash in htab_hash_string with -flto -g)
Richard Biener [Tue, 2 Jun 2015 12:33:02 +0000 (12:33 +0000)]
re PR debug/65549 (crash in htab_hash_string with -flto -g)

2015-06-02  Richard Biener  <rguenther@suse.de>

PR debug/65549
* dwarf2out.c (lookup_context_die): New function.
(resolve_addr): Avoid forcing a full DIE for the
target of a DW_TAG_GNU_call_site during late compilation.
Instead create a stub DIE without a type if we have a
context DIE present.

* g++.dg/lto/pr65549_0.C: New testcase.

From-SVN: r224029