]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years ago * s-osinte-gnu.ads (Get_Page_Size): Return int and use getpagesize
ebotcazou [Wed, 4 May 2016 19:14:05 +0000 (19:14 +0000)] 
* s-osinte-gnu.ads (Get_Page_Size): Return int and use getpagesize
instead of __getpagesize.

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

9 years ago * config/i386/sse.md (sse2_movq128): Use v constraint instead of x.
jakub [Wed, 4 May 2016 17:02:57 +0000 (17:02 +0000)] 
* config/i386/sse.md (sse2_movq128): Use v constraint instead of x.

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

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

9 years ago * tree-inline.c (expand_call_inline): Fix path dealing with
hubicka [Wed, 4 May 2016 16:42:12 +0000 (16:42 +0000)] 
* tree-inline.c (expand_call_inline): Fix path dealing with
making lhs of call statement undefined.

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

9 years ago * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
hubicka [Wed, 4 May 2016 16:36:51 +0000 (16:36 +0000)] 
* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
Check availability on NODE, too.
* cgraph.h (symtab_node::call_for_symbol_and_aliases): Likewise.
(cgraph_node::call_for_symbol_and_aliases): Likewise.
(varpool_node::call_for_symbol_and_aliase): Likewise.
* ipa-pure-const.c (add_new_function): Analyze all bodies.
(propagate_pure_const): Propagate across interposable functions, too.
(skip_function_for_local_pure_const): Do not skip interposable bodies
with aliases.
(pass_local_pure_const::execute): Update.

* gcc.dg/ipa/pure-const-3.c: New testcase.

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

9 years ago * c.opt (Wdangling-else): New option.
mpolacek [Wed, 4 May 2016 16:00:33 +0000 (16:00 +0000)] 
* c.opt (Wdangling-else): New option.

* c-parser.c (c_parser_if_statement): Replace OPT_Wparentheses with
OPT_Wdangling_else.

* parser.c (cp_parser_selection_statement): Replace OPT_Wparentheses
with OPT_Wdangling_else.

* doc/invoke.texi: Document -Wdangling-else.

* c-c++-common/Wdangling-else-1.c: New test.
* c-c++-common/Wdangling-else-2.c: New test.
* c-c++-common/Wdangling-else-3.c: New test.

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

9 years ago2016-05-04 Kwok Cheung Yeung <kcy@codesourcery.com>
clm [Wed, 4 May 2016 14:56:19 +0000 (14:56 +0000)] 
2016-05-04  Kwok Cheung Yeung  <kcy@codesourcery.com>

* gcc.target/mips/mips16-attributes.c: Skip if -mmicromips
flag is present.

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

9 years ago PR c/48778
mpolacek [Wed, 4 May 2016 13:46:15 +0000 (13:46 +0000)] 
PR c/48778
* c-typeck.c (build_binary_op): Don't issue -Waddress warnings
for macro expansions.

* gcc.dg/Waddress-2.c: New test.

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

9 years ago2016-05-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Wed, 4 May 2016 13:33:58 +0000 (13:33 +0000)] 
2016-05-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config.gcc: Error out when conflicting multilib is detected.  Do not
    loop over multilibs since no combination is legal.

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

9 years ago[RS6000] Correct PIC_OFFSET_TABLE_REGNUM
amodra [Wed, 4 May 2016 13:23:58 +0000 (13:23 +0000)] 
[RS6000] Correct PIC_OFFSET_TABLE_REGNUM

Leaving this as r30 results in pic_offset_table_rtx of (reg 30)
for -m64, which is completely bogus.  Various rtl analysis predicate
functions treat pic_offset_table_rtx specially..

* config/rs6000/rs6000.h (PIC_OFFSET_TABLE_REGNUM): Correct.

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

9 years ago[RS6000] Simplify sysv4.h TARGET_TOC
amodra [Wed, 4 May 2016 13:21:01 +0000 (13:21 +0000)] 
[RS6000] Simplify sysv4.h TARGET_TOC

We can use the TARGET_* defines here.  There isn't any reason to use
the underlying variable and masks.  Also, TARGET_RELOCATABLE implies
TARGET_MINIMAL_TOC, so there is no need to test TARGET_RELOCATABLE.

* config/rs6000/sysv4.h (TARGET_TOC): Simplify.

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

9 years ago[RS6000] Align .toc section
amodra [Wed, 4 May 2016 13:17:51 +0000 (13:17 +0000)] 
[RS6000] Align .toc section

Lack of any .toc section alignment causes kexec and kdump failure
when linking without the usual linker script.  This of course is
really a kexec-tools error, but it is also true that .toc ought to
always be word aligned.

* config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
Align .toc.

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

9 years agoUpdate MIPS P5600 processor definition to avoid IMADD
mpf [Wed, 4 May 2016 12:59:28 +0000 (12:59 +0000)] 
Update MIPS P5600 processor definition to avoid IMADD

gcc/

* config/mips/mips-cpus.def (p5600): Avoid IMADD by default.
Clean up p5600 comments.

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

9 years ago2016-05-04 Richard Biener <rguenther@suse.de>
rguenth [Wed, 4 May 2016 12:37:56 +0000 (12:37 +0000)] 
2016-05-04  Richard Biener  <rguenther@suse.de>

* match.pd: Add BIT_FIELD_REF canonicalizations and vector
constructor simplifications.
* fold-const.c (fold_ternary_loc): Remove duplicate functionality
here.

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

9 years agoMerge libcilkrts from upstream.
iverbin [Wed, 4 May 2016 12:29:14 +0000 (12:29 +0000)] 
Merge libcilkrts from upstream.

libcilkrts/
* Makefile.am: Merge from upstream, version 2.0.4420.0
<https://bitbucket.org/intelcilkruntime/intel-cilk-runtime.git>.
* README: Likewise.
* configure.ac: Likewise.
* configure.tgt: Likewise.
* include/cilk/cilk.h: Likewise.
* include/cilk/cilk_api.h: Likewise.
* include/cilk/cilk_api_linux.h: Likewise.
* include/cilk/cilk_stub.h: Likewise.
* include/cilk/cilk_undocumented.h: Likewise.
* include/cilk/common.h: Likewise.
* include/cilk/holder.h: Likewise.
* include/cilk/hyperobject_base.h: Likewise.
* include/cilk/metaprogramming.h: Likewise.
* include/cilk/reducer.h: Likewise.
* include/cilk/reducer_file.h: Likewise.
* include/cilk/reducer_list.h: Likewise.
* include/cilk/reducer_max.h: Likewise.
* include/cilk/reducer_min.h: Likewise.
* include/cilk/reducer_min_max.h: Likewise.
* include/cilk/reducer_opadd.h: Likewise.
* include/cilk/reducer_opand.h: Likewise.
* include/cilk/reducer_opmul.h: Likewise.
* include/cilk/reducer_opor.h: Likewise.
* include/cilk/reducer_opxor.h: Likewise.
* include/cilk/reducer_ostream.h: Likewise.
* include/cilk/reducer_string.h: Likewise.
* include/cilktools/cilkscreen.h: Likewise.
* include/cilktools/cilkview.h: Likewise.
* include/cilktools/fake_mutex.h: Likewise.
* include/cilktools/lock_guard.h: Likewise.
* include/internal/abi.h: Likewise.
* include/internal/cilk_fake.h: Likewise.
* include/internal/cilk_version.h: Likewise.
* include/internal/metacall.h: Likewise.
* include/internal/rev.mk: Likewise.
* mk/cilk-version.mk: Likewise.
* runtime/acknowledgements.dox: Likewise.
* runtime/bug.cpp: Likewise.
* runtime/bug.h: Likewise.
* runtime/c_reducers.c: Likewise.
* runtime/cilk-abi-cilk-for.cpp: Likewise.
* runtime/cilk-abi-vla-internal.c: Likewise.
* runtime/cilk-abi-vla-internal.h: Likewise.
* runtime/cilk-abi.c: Likewise.
* runtime/cilk-ittnotify.h: Likewise.
* runtime/cilk-tbb-interop.h: Likewise.
* runtime/cilk_api.c: Likewise.
* runtime/cilk_fiber-unix.cpp: Likewise.
* runtime/cilk_fiber-unix.h: Likewise.
* runtime/cilk_fiber.cpp: Likewise.
* runtime/cilk_fiber.h: Likewise.
* runtime/cilk_malloc.c: Likewise.
* runtime/cilk_malloc.h: Likewise.
* runtime/component.h: Likewise.
* runtime/config/generic/cilk-abi-vla.c: Likewise.
* runtime/config/generic/os-fence.h: Likewise.
* runtime/config/generic/os-unix-sysdep.c: Likewise.
* runtime/config/x86/cilk-abi-vla.c: Likewise.
* runtime/config/x86/os-fence.h: Likewise.
* runtime/config/x86/os-unix-sysdep.c: Likewise.
* runtime/doxygen-layout.xml: Likewise.
* runtime/doxygen.cfg: Likewise.
* runtime/except-gcc.cpp: Likewise.
* runtime/except-gcc.h: Likewise.
* runtime/except.h: Likewise.
* runtime/frame_malloc.c: Likewise.
* runtime/frame_malloc.h: Likewise.
* runtime/full_frame.c: Likewise.
* runtime/full_frame.h: Likewise.
* runtime/global_state.cpp: Likewise.
* runtime/global_state.h: Likewise.
* runtime/jmpbuf.c: Likewise.
* runtime/jmpbuf.h: Likewise.
* runtime/linux-symbols.ver: Likewise.
* runtime/local_state.c: Likewise.
* runtime/local_state.h: Likewise.
* runtime/mac-symbols.txt: Likewise.
* runtime/metacall_impl.c: Likewise.
* runtime/metacall_impl.h: Likewise.
* runtime/os-unix.c: Likewise.
* runtime/os.h: Likewise.
* runtime/os_mutex-unix.c: Likewise.
* runtime/os_mutex.h: Likewise.
* runtime/pedigrees.c: Likewise.
* runtime/pedigrees.h: Likewise.
* runtime/record-replay.cpp: Likewise.
* runtime/record-replay.h: Likewise.
* runtime/reducer_impl.cpp: Likewise.
* runtime/reducer_impl.h: Likewise.
* runtime/rts-common.h: Likewise.
* runtime/scheduler.c: Likewise.
* runtime/scheduler.h: Likewise.
* runtime/signal_node.c: Likewise.
* runtime/signal_node.h: Likewise.
* runtime/spin_mutex.c: Likewise.
* runtime/spin_mutex.h: Likewise.
* runtime/stats.c: Likewise.
* runtime/stats.h: Likewise.
* runtime/sysdep-unix.c: Likewise.
* runtime/sysdep.h: Likewise.
* runtime/worker_mutex.c: Likewise.
* runtime/worker_mutex.h: Likewise.
* include/cilk/reducer_vector.h: New.
* runtime/cilk_str_mem.h: New.
* runtime/config/arm/cilk-abi-vla.c: New.
* runtime/config/arm/os-fence.h: New.
* runtime/config/arm/os-unix-sysdep.c: New.
* runtime/declare-alloca.h: New.
* runtime/sslib/ignore_handler_s.c: New.
* runtime/sslib/safe_lib.h: New.
* runtime/sslib/safe_lib_errno.h: New.
* runtime/sslib/safe_str_constraint.c: New.
* runtime/sslib/safe_str_constraint.h: New.
* runtime/sslib/safe_str_lib.h: New.
* runtime/sslib/safe_types.h: New.
* runtime/sslib/safeclib_private.h: New.
* runtime/sslib/snprintf_s.h: New.
* runtime/sslib/snprintf_support.c: New.
* runtime/sslib/strcpy_s.c: New.
* runtime/sslib/strncpy_s.c: New.
* runtime/sslib/strnlen_s.c: New.
* runtime/symbol_test.c: Remove.
* Makefile.in: Regenerate.
* configure: Regenerate.

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

9 years agolibstdc++/70940 Start fixing polymorphic memory resources
redi [Wed, 4 May 2016 12:08:45 +0000 (12:08 +0000)] 
libstdc++/70940 Start fixing polymorphic memory resources

PR libstdc++/70940
* include/experimental/memory_resource
(__resource_adaptor_imp::do_allocate): Do not default-construct
rebound allocator.
(__resource_adaptor_imp::do_deallocate): Likewise. Use
allocator_traits to get pointer type.
(__null_memory_resource::do_allocate): Remove unused parameters.
(__null_memory_resource::do_deallocate): Likewise.
(__null_memory_resource::do_is_equal): Likewise. Add return statement.
* testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
* testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
move to ...
* testsuite/experimental/memory_resource/1.cc: Here.
* testsuite/experimental/memory_resource/null_memory_resource.cc: New.
* testsuite/experimental/memory_resource/resource_adaptor.cc: New.

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

9 years agogcc/
olegendo [Wed, 4 May 2016 07:14:11 +0000 (07:14 +0000)] 
gcc/
* config/sh/predicates (post_inc_mem, pre_dec_mem): New predicates.
* config/sh/sh-protos.h (sh_find_set_of_reg): Return null result if
result.set_rtx is null instead of aborting.
* config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT):
Always enable.
(USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT): Enable for SH2A.
* config/sh/sh.md (*extend<mode>si2_predec, *mov<mode>_load_predec,
*mov<mode>_store_postinc): New patterns.

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

9 years agoRemove duplicate (A & B) OP (C & B) in match.pd.
glisse [Wed, 4 May 2016 05:38:18 +0000 (05:38 +0000)] 
Remove duplicate (A & B) OP (C & B) in match.pd.

2016-05-04  Marc Glisse  <marc.glisse@inria.fr>

* match.pd ((A | B) & (A | C)): Generalize to BIT_XOR_EXPR.  Mark
as commutative.  Check both conversions are NOP.
((A & B) OP (C & B)): Remove.

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

9 years agoDaily bump.
gccadmin [Wed, 4 May 2016 00:16:19 +0000 (00:16 +0000)] 
Daily bump.

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

9 years agoCombine simplify_set WORD_REGISTER_OPERATIONS
amodra [Wed, 4 May 2016 00:11:32 +0000 (00:11 +0000)] 
Combine simplify_set WORD_REGISTER_OPERATIONS

The comment says this test is supposed to prevent "a narrower
operation than requested", but it actually only allows a larger
subreg not one the same size.  Fix that.

* combine.c (simplify_set): Correct WORD_REGISTER_OPERATIONS test.

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

9 years ago[RS6000] powerpc64le -ffixed-cr2 -ffixed-cr3 -ffixed-cr4 ICE
amodra [Tue, 3 May 2016 23:51:34 +0000 (23:51 +0000)] 
[RS6000] powerpc64le -ffixed-cr2 -ffixed-cr3 -ffixed-cr4 ICE

gcc/
PR target/70866
* config/rs6000/rs6000.c (rs6000_stack_info): Don't set cr_save_p
when cr2,3,4 are all fixed regs.
gcc/testsuite/
* gcc.target/powerpc/pr70866.c: New.

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

9 years ago PR rtl-optimization/57193
bernds [Tue, 3 May 2016 22:48:03 +0000 (22:48 +0000)] 
PR rtl-optimization/57193
* opts.c (default_options_table): Revert OPT_frename_registers change.
* doc/invoke.texi (-frename-registers, -O2): Likewise.

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

9 years agoPR c++/66561 - __builtin_LINE at al. should yield constant expressions
msebor [Tue, 3 May 2016 21:15:28 +0000 (21:15 +0000)] 
PR c++/66561 - __builtin_LINE at al. should yield constant expressions
PR c++/66639 - declare __func__, __FUNCTION__ & __PRETTY_FUNCTION__ constexpr

gcc/testsuite/ChangeLog:
2016-05-03  Martin Sebor  <msebor@redhat.com>

PR c++/66561
* c-c++-common/builtin_location.c: New test.
* g++.dg/cpp1y/builtin_location.C: New test.

gcc/cp/ChangeLog:
2016-05-03  Martin Sebor  <msebor@redhat.com>

PR c++/66561
* tree.c (builtin_valid_in_constant_expr_p): Treat BUILT_IN_FILE,
BUILT_IN_FUNCTION, and BUILT_IN_LINE as constant expressions.

gcc/ChangeLog:
2016-05-03  Martin Sebor  <msebor@redhat.com>

PR c++/66561
* builtins.c (fold_builtin_FILE): New function.
(fold_builtin_FUNCTION, fold_builtin_LINE): New functions.
(fold_builtin_0): Call them.
* gimplify.c (gimplify_call_expr): Remove the handling of
BUILT_IN_FILE, BUILT_IN_FUNCTION, and BUILT_IN_LINE.

PR c++/66561
* doc/extend.texi (Other Builtins): Update __builtin_FILE,
__builtin_FUNCTION, and __builtin_LINE to reflect they yield
constants.

PR c++/66639
* doc/extend.texi (Function Names as Strings): Update __func__,
__FUNCTION__, __PRETTY_FUNCTION__ to reflect they evaluate to
constants.

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

9 years ago PR tree-optimization/70916
jakub [Tue, 3 May 2016 19:30:22 +0000 (19:30 +0000)] 
PR tree-optimization/70916
* tree-if-conv.c: Include cfganal.h.
(pass_if_conversion::execute): Call connect_infinite_loops_to_exit
and remove_fake_exit_edges around the optimization pass.

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

9 years ago * cgraph.c (symbol_table::create_edge): Set inline_failed.
hubicka [Tue, 3 May 2016 19:05:31 +0000 (19:05 +0000)] 
* cgraph.c (symbol_table::create_edge): Set inline_failed.
(cgraph_edge::make_direct): Likewise.
(cgraph_edge::dump_edge_flags): Dump call_stmt_cannot_inline_p.
* cgraphclones.c (duplicate_thunk_for_node): Set inline_failed.
* cif-code.def (CIF_LTO_MISMATCHED_DECLARATIONS): New code
(CIF_THUNK): New code.
* ipa-inline-analysis.c (initialize_inline_failed): Preserve
CIF_FINAL_ERROR codes; do not deal with call_stmt_cannot_inline_p.
(compute_inline_parameters): Set inline_failed for thunks.
(inline_analyze_function): Cleanup.
* ipa-inline.c (can_inline_edge_p): Do not deal with
call_stmt_cannot_inline_p.
(can_early_inline_edge_p): Likewise.
(early_inliner): Initialize inline_failed.
* lto-cgraph.c (lto_output_edge): Sanity check inline_failed.

* lto-symtab.c (lto_cgraph_replace_node): Initialize inline_failed.

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

9 years ago * config/i386/predicates.md (x87nonimm_ssenomem_operand): Rename
uros [Tue, 3 May 2016 18:48:18 +0000 (18:48 +0000)] 
* config/i386/predicates.md (x87nonimm_ssenomem_operand): Rename
from nonimm_ssenomem_operand.
(nonimm_ssenomem_operand): New predicate.
* config/i386/i386.md (extendsfdf2): Use nonimm_ssenomem_operand
as operand 0 predicate.
(*extendsfdf2): Merge from *extendsfdf2_mixed and *extendsfdf2_i387.
Disable unsupported alternatives using "enabled" attribute.
Use register_ssemem_operand as operand 0 predicate.
(*fop_<mode>_1): Use x87nonimm_ssenomem_operand as operand 1 predicate.

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

9 years ago PR c/70859
mpolacek [Tue, 3 May 2016 18:03:42 +0000 (18:03 +0000)] 
PR c/70859
* input.c (expansion_point_location): New function.
* input.h (expansion_point_location): Declare.

* c-common.c (builtin_function_validate_nargs): Add location
parameter.  Use it.
(check_builtin_function_arguments): Add location and arguments
parameters.  Use them.
* c-common.h (check_builtin_function_arguments): Update declaration.

* c-typeck.c (build_function_call_vec): Pass LOC and ARG_LOC down to
check_builtin_function_arguments.

* call.c (build_cxx_call): Pass location and vNULL down to
check_builtin_function_arguments.

* gcc.dg/pr70859.c: New test.
* gcc.dg/pr70859-2.c: New test.

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

9 years agoFix a typo in dwarf2out.c:resolve_args_picking_1
pmderodat [Tue, 3 May 2016 16:21:14 +0000 (16:21 +0000)] 
Fix a typo in dwarf2out.c:resolve_args_picking_1

Under specific circumstances for Ada programs, such as in the testcase
this change adds, the DWARF back-end currently crashes because of
inconsistent internal state. This is due to a typo: a local variable is
called frame_offset_ but resolve_args_picking_1 wrongly modifies
emit-rtl.h's frame_offset instead.

This change fixes this typo.

gcc/
* dwarf2out.c (resolve_args_picking_1): Replace the frame_offset
occurence with frame_offset_ ones.

gcc/testsuite/
* gnat.dg/debug5.adb: New testcase.

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

9 years ago * nl.po: Update.
jsm28 [Tue, 3 May 2016 15:07:25 +0000 (15:07 +0000)] 
* nl.po: Update.

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

9 years agoPR70890, stage2 miscompilation
amodra [Tue, 3 May 2016 14:43:35 +0000 (14:43 +0000)] 
PR70890, stage2 miscompilation

PR rtl-optimization/70890
* ira.c (combine_and_move_insns): When moving def_insn, remove
equivs on use_insn.

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

9 years agoS/390: Add patterns for r<nox>sbg instructions.
krebbel [Tue, 3 May 2016 13:30:33 +0000 (13:30 +0000)] 
S/390: Add patterns for r<nox>sbg instructions.

gcc/ChangeLog:

2016-05-03  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* config/s390/s390.md ("*r<noxa>sbg_<mode>_sll")
("*r<noxa>sbg_<mode>_srl"): New define_insns.
("*r<noxa>sbg_<mode>_srl_bitmask"): Rename by adding "_bitmask".
("*r<noxa>sbg_<mode>_sll_bitmask"): Likewise.

gcc/testsuite/ChangeLog:

2016-05-03  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/md/rXsbg_mode_sXl.c: New test.
* gcc.target/s390/s390.exp (check_effective_target_z10_instructions):
Procedure to check for z10 instruction set.

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

9 years ago * gcc.dg/ipa/inline-8.c: Require c99_runtime.
clyon [Tue, 3 May 2016 13:06:40 +0000 (13:06 +0000)] 
* gcc.dg/ipa/inline-8.c: Require c99_runtime.

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

9 years ago[RS6000] Fix ICE caused by rs6000_savres_strategy thinko
amodra [Tue, 3 May 2016 12:38:32 +0000 (12:38 +0000)] 
[RS6000] Fix ICE caused by rs6000_savres_strategy thinko

rev 235672 (git cffc0b35) changed the condition for SAVE_MULTIPLE/
STORE_MULTIPLE, wrongly allowing a single reg.

gcc/
* config/rs6000/rs6000.c (rs6000_savres_strategy): Correct condition
for SAVE_MULTIPLE/STORE_MULTIPLE.
gcc/testsuite/
* gcc.target/powerpc/savres.c: Add func using a single gpr.

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

9 years ago * config/i386/i386.md (*truncdfsf_mixed, *truncdfsf_i387,
jakub [Tue, 3 May 2016 12:18:57 +0000 (12:18 +0000)] 
* config/i386/i386.md (*truncdfsf_mixed, *truncdfsf_i387,
*truncxfsf2_mixed, *truncxfdf2_mixed): Use v constraint instead
of x.

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

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

9 years agoCompile ssa-thread-14.c with -fdump-tree-vrp-details
hjl [Tue, 3 May 2016 12:14:37 +0000 (12:14 +0000)] 
Compile ssa-thread-14.c with -fdump-tree-vrp-details

* gcc.dg/tree-ssa/ssa-thread-14.c: Replace -fdump-tree-vrp with
-fdump-tree-vrp-details.

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

9 years ago2016-05-03 Richard Biener <rguenther@suse.de>
rguenth [Tue, 3 May 2016 12:06:19 +0000 (12:06 +0000)] 
2016-05-03  Richard Biener  <rguenther@suse.de>

* gimplify.h (get_initialized_tmp_var): Add allow_ssa parameter
default true.
(gimplify_arg): Likewise.
* gimplify.c (gimplify_expr): Add overload with allow_ssa parameter,
re-writing the result to a decl if required.
(internal_get_tmp_var): Add allow_ssa parameter
and override into_ssa with it.
(get_formal_tmp_var): Adjust.
(get_initialized_tmp_var): Add allow_ssa parameter.
(gimplify_arg): Add allow_ssa parameter and avoid generating
SSA names for the result false.
(gimplify_call_expr): If the call may return twice do not
gimplify parameters into SSA.
(prepare_gimple_addressable): Do not allow an SSA name as
temporary.
(gimplify_modify_expr): Adjust assert.  For noreturn calls
with a SSA name LHS adjust its def.
(gimplify_save_expr): Do not allow an SSA name as save-expr
result.
(gimplify_one_sizepos): Do not allow an SSA name as a sizepos.
(gimplify_body): Init GIMPLE SSA data structures and gimplify
into-SSA.
(gimplify_scan_omp_clauses): Make sure OMP_CLAUSE_SIZE is not
an SSA name.  Likewise for OMP_CLAUSE_REDUCTION operands.
(gimplify_omp_for): Likewise for OMP_CLAUSE_DECL.  Likewise
for OMP_FOR_COND,  OMP_FOR_INCR and OMP_CLAUSE_LINEAR_STEP.
(optimize_target_teams): Do not allow SSA names for clause operands.
(gimplify_expr): Likewise for where we mark the result addressable.
* passes.def (pass_init_datastructures): Remove.
* tree-into-ssa.c (mark_def_sites): Ignore existing SSA names.
(rewrite_stmt): Likewise.
* tree-inline.c (initialize_cfun): Properly transfer SSA state.
(replace_locals_op): Replace SSA names.
(copy_gimple_seq_and_replace_locals): Init src_cfun.
* gimple-low.c (lower_builtin_setjmp): Deal with SSA.
* cgraph.c (release_function_body): Free CFG annotations only
when we have a CFG.  Simplify.
* gimple-fold.c (gimplify_and_update_call_from_tree): Use
force_gimple_operand instead of get_initialized_tmp_var.
* tree-pass.h (make_pass_init_datastructures): Remove.
* tree-ssa.c (execute_init_datastructures): Remove.
(pass_data_init_datastructures): Likewise.
(class pass_init_datastructures): Likewise.
(make_pass_init_datastructures): Likewise.
* omp-low.c (create_omp_child_function): Init SSA data structures.
(grid_expand_target_grid_body): Likewise.
* tree-cfg.c (move_block_to_fn): Double-check the DEF is an SSA
name before adding it to names_to_release.
(remove_bb): Always release SSA defs.
* tree-ssa-ccp.c (get_default_value): Check SSA_NAME_VAR
before dereferencing it.
* cgraphunit.c (init_lowered_empty_function): Always
int SSA data structures.
* tree-ssanames.c (release_defs): Remove assert that we are in
SSA form.
* trans-mem.c (diagnose_tm_1): Handle SSA name function.

c-family/
* cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
allow call args to gimplify to SSA names.

* gcc.dg/pr30172-1.c: Adjust.
* gcc.dg/pr63743.c: Likewise.
* gcc.dg/tm/pr51696.c: Likewise.
* c-c++-common/tm/safe-1.c: Likewise.
* gcc.dg/tree-prof/val-prof-3.c: Likewise.
* gcc.dg/plugin/self-assign-test-1.c: XFAIL case that needs CSE.
* g++.dg/plugin/self-assign-test-1.C: Likewise.
* g++.dg/plugin/self-assign-test-2.C: Likewise.

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

9 years ago PR rtl-optimization/70467
jakub [Tue, 3 May 2016 11:45:04 +0000 (11:45 +0000)] 
PR rtl-optimization/70467
* config/i386/predicates.md (x86_64_hilo_int_operand,
x86_64_hilo_general_operand): New predicates.
* config/i386/constraints.md (Wd): New constraint.
* config/i386/i386.md (mode attr di): Use Wd instead of e.
(general_hilo_operand): New mode attr.
(add<mode>3, sub<mode>3): Use <general_hilo_operand>
instead of <general_operand>.
(*add<dwi>3_doubleword, *sub<dwi>3_doubleword): Use
x86_64_hilo_general_operand instead of <general_operand>.

* gcc.target/i386/pr70467-3.c: New test.
* gcc.target/i386/pr70467-4.c: New test.

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

9 years ago PR tree-optimization/70916
jakub [Tue, 3 May 2016 11:43:06 +0000 (11:43 +0000)] 
PR tree-optimization/70916
* tree-if-conv.c (constant_or_ssa_name): Removed.
(fold_build_cond_expr): Use is_gimple_val instead of
constant_or_ssa_name.

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

9 years ago PR tree-optimization/70916
jakub [Tue, 3 May 2016 11:38:38 +0000 (11:38 +0000)] 
PR tree-optimization/70916
* tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Give up
if COND_EXPR rhs1 is neither SSA_NAME nor COMPARISON_CLASS_P.

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

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

9 years ago PR target/49244
jakub [Tue, 3 May 2016 11:37:25 +0000 (11:37 +0000)] 
PR target/49244
* tree-ssa-ccp.c: Include stor-layout.h and optabs-query.h.
(optimize_atomic_bit_test_and): New function.
(pass_fold_builtins::execute): Use it.
* optabs.def (atomic_bit_test_and_set_optab,
atomic_bit_test_and_complement_optab,
atomic_bit_test_and_reset_optab): New optabs.
* internal-fn.def (ATOMIC_BIT_TEST_AND_SET,
ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_BIT_TEST_AND_RESET): New ifns.
* builtins.h (expand_ifn_atomic_bit_test_and): New prototype.
* builtins.c (expand_ifn_atomic_bit_test_and): New function.
* internal-fn.c (expand_ATOMIC_BIT_TEST_AND_SET,
expand_ATOMIC_BIT_TEST_AND_COMPLEMENT,
expand_ATOMIC_BIT_TEST_AND_RESET): New functions.
* doc/md.texi (atomic_bit_test_and_set@var{mode},
atomic_bit_test_and_complement@var{mode},
atomic_bit_test_and_reset@var{mode}): Document.
* config/i386/sync.md (atomic_bit_test_and_set<mode>,
atomic_bit_test_and_complement<mode>,
atomic_bit_test_and_reset<mode>): New expanders.
(atomic_bit_test_and_set<mode>_1,
atomic_bit_test_and_complement<mode>_1,
atomic_bit_test_and_reset<mode>_1): New insns.

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

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

9 years agoPR 70687: Use wide_int in combine.c:change_zero_ext
rsandifo [Tue, 3 May 2016 10:29:55 +0000 (10:29 +0000)] 
PR 70687: Use wide_int in combine.c:change_zero_ext

PR 70687 reports a case where combine.c mishandles integer modes
wider than unsigned HOST_WIDE_INT.  I don't have a testcase since
the PR is just pointing out the hole.

Also, I think a ZERO_EXTEND of a vector mode could in principle satisfy
the subreg condition but wouldn't be equivalent to an AND.  E.g.:

      (zero_extend:V4DI (subreg:V4SI (reg:V4DI R) 0))

Tested on x86_64-linux-gnu.

gcc/
PR rtl-optimization/70687
* combine.c (change_zero_ext): Check for scalar modes.  Use wide_int
instead of unsigned HOST_WIDE_INT.

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

9 years agoFix PR44281, bad RA with global regs.
bernds [Tue, 3 May 2016 09:35:42 +0000 (09:35 +0000)] 
Fix PR44281, bad RA with global regs.

PR rtl-optimization/44281
* hard-reg-set.h (struct target_hard_regs): New field
x_fixed_nonglobal_reg_set.
(fixed_nonglobal_reg_set): New macro.
* reginfo.c (init_reg_sets_1): Initialize it.
* ira.c (setup_alloc_regs): Use fixed_nonglobal_reg_set instead
of fixed_reg_set.
* df-scan.c (df_insn_refs_collect): Asms may reference global regs.

testsuite/
PR rtl-optimization/44281
* gcc.target/i386/pr44281.c: New test.

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

9 years ago PR tree-optimization/56541
amker [Tue, 3 May 2016 09:04:46 +0000 (09:04 +0000)] 
PR tree-optimization/56541
* doc/invoke.texi (@item max-tree-if-conversion-phi-args): New item.
* params.def (PARAM_MAX_TREE_IF_CONVERSION_PHI_ARGS): new param.
* tree-if-conv.c (MAX_PHI_ARG_NUM): new macro.
(any_complicated_phi): new static variable.
(aggressive_if_conv): delete.
(if_convertible_phi_p): support phis with more than two arguments.
(if_convertible_bb_p): remvoe check on aggressive_if_conv and
critical pred edges.
(ifcvt_split_critical_edges): support phis with more than two
arguments by checking new parameter.  only split critical edges
if needed.
(tree_if_conversion): handle simd pragma marked loop using new
local variable aggressive_if_conv.  check any_complicated_phi.

gcc/testsuite
PR tree-optimization/56541
* gcc.dg/tree-ssa/ifc-pr56541.c: new test.
* gcc.dg/vect/pr56541.c: new test.

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

9 years ago * tree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on
amker [Tue, 3 May 2016 08:54:49 +0000 (08:54 +0000)] 
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on
before using it.

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

9 years ago * tree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber
amker [Tue, 3 May 2016 08:38:18 +0000 (08:38 +0000)] 
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber
cbase.

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

9 years ago2016-05-03 Richard Biener <rguenther@suse.de>
rguenth [Tue, 3 May 2016 08:14:27 +0000 (08:14 +0000)] 
2016-05-03  Richard Biener  <rguenther@suse.de>

c/
* Make-lang.in (cc1-checksum.c): For stage-final re-use
the checksum from the previous stage.

cp/
* Make-lang.in (cc1plus-checksum.c): For stage-final re-use
the checksum from the previous stage.

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

9 years agogcc/
olegendo [Tue, 3 May 2016 06:47:34 +0000 (06:47 +0000)] 
gcc/
* config/sh/sh.md (udivsi3, divsi3, mulsi3): Simplify.
(mulhisi3, umulhisi3, (smulsi3_highpart, umulsi3_highpart): Convert to
define_insn_and_split.
(mulsi3_i): New define_insn_and_split.
(mulsi3_call): Convert to define_insn.
(mulsidi3, mulsidi3_compact, umulsidi3, umulsidi3_compact):
Remove constraints.

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

9 years ago * c-common.h (enum c_omp_region_type): Remove stray comma.
mpolacek [Tue, 3 May 2016 06:40:46 +0000 (06:40 +0000)] 
* c-common.h (enum c_omp_region_type): Remove stray comma.

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

9 years agoDaily bump.
gccadmin [Tue, 3 May 2016 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago[gcc]
meissner [Mon, 2 May 2016 23:23:45 +0000 (23:23 +0000)] 
[gcc]
2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

* machmode.h (mode_complex): Add support to give the complex mode
for a given mode.
(GET_MODE_COMPLEX_MODE): Likewise.
* stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode
stored by build_complex_type and gfc_build_complex_type instead of
trying to figure out the appropriate mode based on the size. Raise
an assertion error, if the type was not set.
* genmodes.c (struct mode_data): Add field for the complex type of
the given type.
(blank_mode): Likewise.
(make_complex_modes): Remember the complex mode created in the
base type.
(emit_mode_complex): Write out the mode_complex array to map a
type mode to the complex version.
(emit_insn_modes_c): Likewise.
* tree.c (build_complex_type): Set the complex type to use before
calling layout_type.
* config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add
support for __float128 complex datatypes.
(rs6000_hard_regno_mode_ok): Likewise.
(rs6000_setup_reg_addr_masks): Likewise.
(rs6000_complex_function_value): Likewise.
* config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise.
__float128 and __ibm128 complex.
(FLOAT128_IBM_P): Likewise.
(ALTIVEC_ARG_MAX_RETURN): Likewise.
* doc/extend.texi (Additional Floating Types): Document that
-mfloat128 must be used to enable __float128.  Document complex
__float128 and __ibm128 support.

[gcc/fortran]
2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

* trans-types.c (gfc_build_complex_type):

[gcc/testsuite]
2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/float128-complex-1.c: New tests for complex
__float128.
* gcc.target/powerpc/float128-complex-2.c: Likewise.

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

9 years ago PR target/49244
jakub [Mon, 2 May 2016 22:12:54 +0000 (22:12 +0000)] 
PR target/49244
* gimple.c (gimple_builtin_call_types_compatible_p): Allow
char/short arguments promoted to int because of promote_prototypes.

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

9 years agoBackport r265322 from llvm upstream
hjl [Mon, 2 May 2016 21:45:34 +0000 (21:45 +0000)] 
Backport r265322 from llvm upstream

Since x86 psABIs require the function incoming stack must align at 16
bytes, child process stack passed to clone should be aligned at 16
bytes.

PR testsuite/70520
* c-c++-common/asan/clone-test-1.c (main): Align child process
stack to 16 bytes.

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

9 years agoPR c++/62314: C++: add fixit hint to misspelled member names
dmalcolm [Mon, 2 May 2016 19:09:30 +0000 (19:09 +0000)] 
PR c++/62314: C++: add fixit hint to misspelled member names

When we emit a hint about a misspelled member name, it will slightly
aid readability if we use a fixit-hint to show the proposed
name in context within the source code (and in the future this
might support some kind of auto-apply in an IDE).

This patch adds such a hint to the C++ frontend, taking us from:

test.cc:10:15: error: 'struct foo' has no member named 'colour'; did you mean 'color'?
   return ptr->colour;
               ^~~~~~

to:

test.cc:10:15: error: 'struct foo' has no member named 'colour'; did you mean 'color'?
   return ptr->colour;
               ^~~~~~
               color

gcc/cp/ChangeLog:
PR c++/62314
* typeck.c (finish_class_member_access_expr): When
giving a hint about a possibly-misspelled member name,
add a fix-it replacement hint.

gcc/testsuite/ChangeLog:
PR c++/62314
* g++.dg/spellcheck-fields-2.C: New test case.

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

9 years ago * ChangeLog: Add missing entry.
uros [Mon, 2 May 2016 18:58:18 +0000 (18:58 +0000)] 
* ChangeLog: Add missing entry.

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

9 years ago * config/i386/predicates.md (register_ssemem_operand): New predicate.
uros [Mon, 2 May 2016 18:52:33 +0000 (18:52 +0000)] 
* config/i386/predicates.md (register_ssemem_operand): New predicate.
* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>): Merge from
*cmpi<FPCMP:unord><MODEF:mode>_mixed and
*cmpi<FPCMP:unord><X87MODEF:mode>_i387.  Disable unsupported
alternatives using "enabled" attribute.  Use register_ssemem_operand
as operand 1 predicate.
(*cmpi<unord>xf_i387): Split XFmode pattern from
*cmpi<FPCMP:unord><X87MODEF:mode>_i387.
(*absneg<mode>2): Merge from *absneg<mode>2_mixed and
*absneg<mode>2_i387.  Disable unsupported alternatives using
"enabled" attribute.

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

9 years ago gcc/c-family/
cesar [Mon, 2 May 2016 18:49:15 +0000 (18:49 +0000)] 
gcc/c-family/
* c-common.h (enum c_omp_region_type): Define.

gcc/c/
* c-parser.c (c_parser_oacc_all_clauses): Update call to
c_finish_omp_clauses.
(c_parser_omp_all_clauses): Likewise.
(c_parser_oacc_cache): Likewise.
(c_parser_oacc_loop): Likewise.
(omp_split_clauses): Likewise.
(c_parser_omp_declare_target): Likewise.
(c_parser_cilk_all_clauses): Likewise.
(c_parser_cilk_for): Likewise.
* c-typeck.c (c_finish_omp_clauses): Replace bool arguments
is_omp, declare_simd, and is_cilk with enum c_omp_region_type ort.

gcc/cp/
* cp-tree.h (finish_omp_clauses): Update prototype.
* parser.c (cp_parser_oacc_all_clauses): Update call to
finish_omp_clauses.
(cp_parser_omp_all_clauses): Likewise.
(cp_parser_omp_for_loop): Likewise.
(cp_omp_split_clauses): Likewise.
(cp_parser_oacc_cache): Likewise.
(cp_parser_oacc_loop): Likewise.
(cp_parser_omp_declare_target):
(cp_parser_cilk_simd_all_clauses): Likewise.
(cp_parser_cilk_for): Likewise.
* pt.c (tsubst_omp_clauses): Replace allow_fields and declare_simd
arguments with enum c_omp_region_type ort.
(tsubst_omp_clauses): Update calls to finish_omp_clauses.
(tsubst_omp_attribute): Update calls to tsubst_omp_clauses.
(tsubst_omp_for_iterator): Update calls to finish_omp_clauses.
(tsubst_expr): Update calls to tsubst_omp_clauses.
* semantics.c (finish_omp_clauses): Replace bool arguments
allow_fields, declare_simd, and is_cilk with bitmask ort.
(finish_omp_for): Update call to finish_omp_clauses.

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

9 years agoPR c++/62314: add fixit hint for missing "template <> " in explicit specialization
dmalcolm [Mon, 2 May 2016 18:36:40 +0000 (18:36 +0000)] 
PR c++/62314: add fixit hint for missing "template <> " in explicit specialization

gcc/cp/ChangeLog:
PR c++/62314
* parser.c (cp_parser_class_head): Capture the start location;
use it to emit a fix-it insertion hint when complaining
about missing "template <> " in explicit specializations.

gcc/testsuite/ChangeLog:
PR c++/62314
* g++.dg/pr62314.C: New test case.

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

9 years ago * omp-low.c (lower_oacc_head_tail): Assert there is at least one
nathan [Mon, 2 May 2016 18:27:40 +0000 (18:27 +0000)] 
* omp-low.c (lower_oacc_head_tail): Assert there is at least one
marker.
(oacc_loop_process): Check mask for loop termination.

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

9 years agoDon't install libvtv without --enable-vtable-verify
ro [Mon, 2 May 2016 18:10:17 +0000 (18:10 +0000)] 
Don't install libvtv without --enable-vtable-verify

* Makefile.am (toolexeclib_LTLIBRARIES): Only set if
ENABLE_VTABLE_VERIFY.
Simplify.
* Makefile.in: Regenerate.

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

9 years ago * ipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert
hubicka [Mon, 2 May 2016 17:38:53 +0000 (17:38 +0000)] 
* ipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert
accidental change.

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

9 years ago * cif-code.def (CIF_THUNK): Add.
hubicka [Mon, 2 May 2016 17:34:32 +0000 (17:34 +0000)] 
* cif-code.def (CIF_THUNK): Add.

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

9 years ago * sv.po, zh_CN.po: Update.
jsm28 [Mon, 2 May 2016 17:27:36 +0000 (17:27 +0000)] 
* sv.po, zh_CN.po: Update.

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

9 years agoDemangler integer overflow fixes from Marcel Böhme.
bernds [Mon, 2 May 2016 17:06:40 +0000 (17:06 +0000)] 
Demangler integer overflow fixes from Marcel Böhme.

PR c++/70498
* cp-demangle.c: Parse numbers as integer instead of long to avoid
overflow after sanity checks. Include <limits.h> if available.
(INT_MAX): Define if necessary.
(d_make_template_param): Takes integer argument instead of long.
(d_make_function_param): Likewise.
(d_append_num): Likewise.
(d_identifier): Likewise.
(d_number): Parse as and return integer.
(d_compact_number): Handle overflow.
(d_source_name): Change variable type to integer for parsed number.
(d_java_resource): Likewise.
(d_special_name): Likewise.
(d_discriminator): Likewise.
(d_unnamed_type): Likewise.
* testsuite/demangle-expected: Add regression test cases.

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

9 years ago * ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions
hubicka [Mon, 2 May 2016 16:55:56 +0000 (16:55 +0000)] 
* ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions
(dump_inline_summary): Dump it.
(fp_expression_p): New predicate.
(estimate_function_body_sizes): Use it.
(inline_merge_summary): Merge fp_expressions.
(inline_read_section): Read fp_expressions.
(inline_write_summary): Write fp_expressions.
* ipa-inline.c (can_inline_edge_p): Permit inlining across fp math
codegen boundary if either caller or callee is !fp_expressions.
* ipa-inline.h (inline_summary): Add fp_expressions.
* ipa-inline-transform.c (inline_call): When inlining !fp_expressions
to fp_expressions be sure the fp generation flags are updated.

* gcc.dg/ipa/inline-8.c: New testcase.

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

9 years ago PR rtl-optimization/70467
jakub [Mon, 2 May 2016 16:46:10 +0000 (16:46 +0000)] 
PR rtl-optimization/70467
* cse.c (cse_insn): Handle no-op MEM moves after folding.

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

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

9 years ago PR rtl-optimization/70467
jakub [Mon, 2 May 2016 16:17:02 +0000 (16:17 +0000)] 
PR rtl-optimization/70467
* ipa-pure-const.c (check_call): Handle internal calls even in
ipa mode like in local mode.

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

9 years ago2016-05-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Mon, 2 May 2016 15:23:20 +0000 (15:23 +0000)] 
2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * configure.ac (mpfr): Remove pre-3.1.0 mpfr compatibility code.
        * configure: Regenerated.
        * Makefile.def (gmp): Explicitly disable assembler.
        (mpfr): Adjust lib_path.
        (mpc): Likewise.
        * Makefile.in: Regenerated.

gcc/
2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * doc/install.texi: Document supported in-tree gmp/mpfr/mpc versions.

contrib/
2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * download_prerequisites: Adjust gmp/mpfr/mpc versions.

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

9 years ago2016-05-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Mon, 2 May 2016 14:41:25 +0000 (14:41 +0000)] 
2016-05-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.dg/spec-options.c: Run the test on all targets.
        * gcc.dg/foo.specs: Use cpp_unique_options.

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

9 years agoCanonicalize X u< X to UNORDERED_EXPR
glisse [Mon, 2 May 2016 14:32:53 +0000 (14:32 +0000)] 
Canonicalize X u< X to UNORDERED_EXPR

2016-05-02  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd (X u< X, X u> X): New transformations.

gcc/testsuite/
* gcc.dg/tree-ssa/unord.c: New testcase.

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

9 years agoMove "X +- C1 CMP C2 to X CMP C2 -+ C1" to match.pd
glisse [Mon, 2 May 2016 14:09:07 +0000 (14:09 +0000)] 
Move "X +- C1 CMP C2 to X CMP C2 -+ C1" to match.pd

2016-05-02  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* flag-types.h (enum warn_strict_overflow_code): Move ...
* coretypes.h: ... here.
* fold-const.h (fold_overflow_warning): Declare.
* fold-const.c (fold_overflow_warning): Make non-static.
(fold_comparison): Move the transformation of X +- C1 CMP C2
into X CMP C2 -+ C1 ...
* match.pd: ... here.
* gimple-fold.c (fold_stmt_1): Protect with
fold_defer_overflow_warnings.

gcc/testsuite/
* gcc.dg/tree-ssa/20040305-1.c: Adjust.

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

9 years ago gcc/
nathan [Mon, 2 May 2016 13:16:22 +0000 (13:16 +0000)] 
gcc/
* omp-low.c (struct oacc_loop): Add 'inner' field.
(new_oacc_loop_raw): Initialize it to zero.
(oacc_loop_fixed_partitions): Initialize it.
(oacc_loop_auto_partitions): Partition outermost loop to outermost
available partitioning.

gcc/testsuite/
* c-c++-common/goacc/loop-auto-1.c: Adjust expected warnings.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
expected partitioning.

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

9 years agoFix make install-gcc-specs with empty GCC_SPEC_FILES
ro [Mon, 2 May 2016 13:08:59 +0000 (13:08 +0000)] 
Fix make install-gcc-specs with empty GCC_SPEC_FILES

* gcc-interface/Makefile.in (install-gcc-specs): Use foreach.
Honor DESTDIR.

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

9 years ago PR c/70851
mpolacek [Mon, 2 May 2016 11:35:59 +0000 (11:35 +0000)] 
PR c/70851
* c-decl.c (grokdeclarator): Diagnose when array's size has an
incomplete type.

* gcc.dg/enum-incomplete-3.c: New test.

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

9 years ago[ARC] Various instruction pattern fixes
claziss [Mon, 2 May 2016 11:26:57 +0000 (11:26 +0000)] 
[ARC] Various instruction pattern fixes

gcc/
2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.md (mulsidi3): Change operand 0 predicate to
register_operand.
(umulsidi3): Likewise.
(indirect_jump): Fix jump instruction assembly patterns.

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

9 years ago[PR target/70860] [nvptx] Handle NULL cfun in nvptx_libcall_value
tschwinge [Mon, 2 May 2016 11:25:17 +0000 (11:25 +0000)] 
[PR target/70860] [nvptx] Handle NULL cfun in nvptx_libcall_value

gcc/
PR target/70860
* config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun.
(nvptx_function_value): Assert non-NULL cfun.

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

9 years agoMinor reformatting.
charlet [Mon, 2 May 2016 10:37:34 +0000 (10:37 +0000)] 
Minor reformatting.

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

9 years ago2016-05-02 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 2 May 2016 10:36:45 +0000 (10:36 +0000)] 
2016-05-02  Tristan Gingold  <gingold@adacore.com>

* fname.adb (Is_Predefined_File_Name): Also consider non-krunched
i-* names.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Aggregate_Constraint_Checks): Separate
accessibility checks and non-null checks for aggregate components,
to prevent spurious accessibility errors.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (OK_For_Limited_Init): A type conversion is not
always legal in the in-place initialization of a limited entity
(e.g. an allocator).
* sem_res.adb (Resolve_Allocator): Improve error message with RM
reference  when allocator expression is illegal.

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

9 years ago2016-05-02 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 2 May 2016 10:34:16 +0000 (10:34 +0000)] 
2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Expand_Call): When inlining a call to a function
declared in a package instance, locate the instance node of the
package after the actual package declaration. skipping over
pragmas that may have been introduced when the generic unit
carries aspects that are transformed into pragmas.

2016-05-02  Bob Duff  <duff@adacore.com>

* s-memory.adb (Alloc, Realloc): Move checks
for Size = 0 or size_t'Last into the Result = System.Null_Address
path for efficiency. Improve comments (based on actual C language
requirements for malloc).
* exp_util.adb (Build_Allocate_Deallocate_Proc): Optimize the
case where we are using the default Global_Pool_Object, and we
don't need the heavy finalization machinery.

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

9 years agoMinor reformatting.
charlet [Mon, 2 May 2016 10:31:39 +0000 (10:31 +0000)] 
Minor reformatting.

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

9 years ago2016-05-02 Gary Dismukes <dismukes@adacore.com>
charlet [Mon, 2 May 2016 10:31:25 +0000 (10:31 +0000)] 
2016-05-02  Gary Dismukes  <dismukes@adacore.com>

* exp_util.ads, sem_ch12.adb: Minor reformatting.

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

9 years ago2016-05-02 Javier Miranda <miranda@adacore.com>
charlet [Mon, 2 May 2016 10:30:23 +0000 (10:30 +0000)] 
2016-05-02  Javier Miranda  <miranda@adacore.com>

* exp_util.ads, exp_util.adb (Force_Evaluation): Adding new formal.
(Remove_Side_Effects): Adding a new formal.
* exp_ch6.adb (Expand_Simple_Function_Return): Generating the
call to the _Postconditions procedure ensure that side-effects
are unconditionally removed.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Check_Formal_Package_Instance, Check_Mismatch):
Use original node to determine whether the declaration is for
a formal type declaration, to take into account that formwl
private types are rewritten as private extension declarations
to simplify semantic analysis.

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

9 years ago2016-05-02 Gary Dismukes <dismukes@adacore.com>
charlet [Mon, 2 May 2016 10:29:12 +0000 (10:29 +0000)] 
2016-05-02  Gary Dismukes  <dismukes@adacore.com>

* exp_ch9.adb, sem_ch6.adb, sem_ch6.ads: Minor reformatting and typo
fixes.

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

9 years ago2016-05-02 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 2 May 2016 10:27:18 +0000 (10:27 +0000)] 
2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb, exp_ch9.adb, einfo.adb, sem_ch4.adb, sem_ch6.adb: Minor
reformatting.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Expand_N_Allocator): If the designated type
is a private derived type with no discriminants, examine its
underlying_full_view to determine whether the full view has
defaulted discriminants, so their defaults can be used in the
call to the initialization procedure for the designated object.

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

9 years ago2016-05-02 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 2 May 2016 10:18:12 +0000 (10:18 +0000)] 
2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_prag.adb, comperr.adb: Minor reformatting.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* exp_pakd.adb (Rj_Unchecked_Convert_To): Do not perform an
unchecked conversion if the source size is 0 (indicating that
its RM size is unknown). This will happen with packed arrays of
non-discrete types, in which case the component type is known
to match.

2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* debug.adb: Reserve -gnatd.V.

2016-05-02  Javier Miranda  <miranda@adacore.com>

* sem_ch3.adb (Process_Full_View): Remove from visibility
wrappers of synchronized types to avoid spurious errors with
their wrapped entity.
* exp_ch9.adb (Build_Wrapper_Spec): Do not generate the wrapper
if no interface primitive is covered by the subprogram and this is
not a primitive declared between two views; see Process_Full_View.
(Build_Protected_Sub_Specification): Link the dispatching
subprogram with its original non-dispatching protected subprogram
since their names differ.
(Expand_N_Protected_Type_Declaration):
If a protected subprogram overrides an interface primitive then
do not build a wrapper if it was already built.
* einfo.ads, einfo.adb (Original_Protected_Subprogram): New attribute.
* sem_ch4.adb (Names_Match): New subprogram.
* sem_ch6.adb (Check_Synchronized_Overriding): Moved
to library level and defined in the public part of the
package to invoke it from Exp_Ch9.Build_Wrapper_Spec
(Has_Matching_Entry_Or_Subprogram): New subprogram.
(Report_Conflict): New subprogram.

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

9 years ago2016-05-02 Jerome Lambourg <lambourg@adacore.com>
charlet [Mon, 2 May 2016 10:14:23 +0000 (10:14 +0000)] 
2016-05-02  Jerome Lambourg  <lambourg@adacore.com>

* s-unstyp.ads: Code cleanups.

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch13.adb (Size_Too_Small_Error): Fix the error message format.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* exp_prag.adb (Expand_attributes_In_Consequence,
Expand_Attributes): If the prefix of'Old is an unconstrained type,
for example an unconstrained formal of the enclosing subprogram,
create an object declaration with an expression to obtain the
actual subtype of the temporary.

2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* comperr.adb (Delete_SCIL_Files): Add missing handling of
N_Subprogram_Declaration.

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

9 years agoMinor reformatting.
charlet [Mon, 2 May 2016 10:10:21 +0000 (10:10 +0000)] 
Minor reformatting.

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

9 years ago2016-05-02 Gary Dismukes <dismukes@adacore.com>
charlet [Mon, 2 May 2016 10:10:01 +0000 (10:10 +0000)] 
2016-05-02  Gary Dismukes  <dismukes@adacore.com>

* exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, checks.adb, sem_attr.adb,
gnat1drv.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting and typo
fixes.
* sem_prag.adb, sem_ch12.adb: Minor typo fixes.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): The
function call may be wrapped in an explicit type conversion.

2016-05-02  Jerome Lambourg  <lambourg@adacore.com>

* interfac.ads: use pragma No_Elaboration_Code_All.
* s-unstyp.ads: s-unstyp.ads: use pragma No_Elaboration_Code_All.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem.adb (Analyze: If node is an error node previously created
by the parser, disable expansion to prevent subsequent glitches
in error recovery.

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

9 years ago PR rtl-optimization/70886
ebotcazou [Mon, 2 May 2016 10:08:59 +0000 (10:08 +0000)] 
PR rtl-optimization/70886
* sched-deps.c (estimate_dep_weak): Canonicalize cselib values.

* cselib.h (rtx_equal_for_cselib_1): Declare.
(rtx_equal_for_cselib_p: New inline function.
* cselib.c (rtx_equal_for_cselib_p): Delete.
(rtx_equal_for_cselib_1): Make public.

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

9 years agoMinor reformatting.
charlet [Mon, 2 May 2016 10:07:02 +0000 (10:07 +0000)] 
Minor reformatting.

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

9 years ago2016-05-02 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 2 May 2016 10:06:45 +0000 (10:06 +0000)] 
2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch13.adb (Alignment_Error): Removed.
(Get_Alignment_Value): Code cleanup.

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

9 years ago2016-05-02 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 2 May 2016 10:05:03 +0000 (10:05 +0000)] 
2016-05-02  Tristan Gingold  <gingold@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): Use Has_Protected
to check for the no local protected objects restriction.

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb Anonymous_Master now uses Node35.
(Anonymous_Master): Update the assertion and node reference.
(Set_Anonymous_Master): Update the assertion and node reference.
(Write_Field35_Name): Add output for Anonymous_Master.
(Write_Field36_Name): The output is now undefined.
* einfo.ads Update the node and description of attribute
Anonymous_Master. Remove prior occurrences in entities as this
is now a type attribute.
* exp_ch3.adb (Expand_Freeze_Array_Type): Remove local variable
Ins_Node. Anonymous access- to-controlled component types no
longer need finalization masters. The master is now built when
a related allocator is expanded.
(Expand_Freeze_Record_Type): Remove local variable Has_AACC. Do not
detect whether the record type has at least one component of anonymous
access-to- controlled type. These types no longer need finalization
masters. The master is now built when a related allocator is expanded.
* exp_ch4.adb Remove with and use clauses for Lib and Sem_Ch8.
(Current_Anonymous_Master): Removed.
(Expand_N_Allocator): Call Build_Anonymous_Master to create a
finalization master for an anonymous access-to-controlled type.
* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
Call routine Build_Anonymous_Master to create a finalization master
for an anonymous access-to-controlled type.
* exp_ch7.adb (Allows_Finalization_Master): New routine.
(Build_Anonymous_Master): New routine.
(Build_Finalization_Master): Remove formal parameter
For_Anonymous. Use Allows_Finalization_Master to determine whether
circumstances warrant a finalization master. This routine no
longer creates masters for anonymous access-to-controlled types.
(In_Deallocation_Instance): Removed.
* exp_ch7.ads (Build_Anonymous_Master): New routine.
(Build_Finalization_Master): Remove formal parameter For_Anonymous
and update the comment on usage.
* sem_util.adb (Get_Qualified_Name): New routines.
(Output_Name): Reimplemented.
(Output_Scope): Removed.
* sem_util.ads (Get_Qualified_Name): New routines.

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* debug.adb: Document the use of switch -gnatd.H.
* gnat1drv.adb (Adjust_Global_Switches): Set ASIS_GNSA mode when
-gnatd.H is present.
(Gnat1drv): Suppress the call to gigi when ASIS_GNSA mode is active.
* opt.ads: Add new option ASIS_GNSA_Mode.
* sem_ch13.adb (Alignment_Error): New routine.
(Analyze_Attribute_Definition_Clause): Suppress certain errors in
ASIS mode for attribute clause Alignment, Machine_Radix, Size, and
Stream_Size.
(Check_Size): Use routine Size_Too_Small_Error to
suppress certain errors in ASIS mode.
(Get_Alignment_Value): Use routine Alignment_Error to suppress certain
errors in ASIS mode.
(Size_Too_Small_Error): New routine.

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

9 years ago2016-05-02 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 2 May 2016 10:00:00 +0000 (10:00 +0000)] 
2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* spark_xrefs.ads Description of the spark cross-references
clarified; small style fixes.
* lib-xref-spark_specific.adb (Add_SPARK_Scope,
Detect_And_Add_SPARK_Scope): consider protected types and bodies
as yet another scopes.
(Enclosing_Subprogram_Or_Library_Package): refactored using
Hristian's suggestions; added support for scopes of protected
types and bodies; fix for entries to return the scope of the
enclosing concurrent type, which is consistent with what is
returned for protected subprograms.
* sem_intr.adb: Minor style fix in comment.

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

9 years ago2016-05-02 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 2 May 2016 09:57:54 +0000 (09:57 +0000)] 
2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

* lib-xref.ads, lib-xref-spark_specific.adb, get_spark_xrefs.adb,
put_spark_xrefs.adb: Minor reformatting.

2016-05-02  Doug Rupp  <rupp@adacore.com>

* g-traceb.ads: Document traceback for ARM.

2016-05-02  Javier Miranda  <miranda@adacore.com>

* exp_disp.adb (Make_Tags): Do not generate the
external name of interface tags adding the suffix counter since
it causes problems at link time when the IP routines are inlined
across units with optimization.

2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* einfo.ads, einfo.adb (Predicates_Ignared): new flag to indicate
that predicate checking is disabled for predicated subtypes in
the context of an Assertion_Policy pragma.
* checks.adb (Apply_Predicate_Check): Do nothing if
Predicates_Ignored is true.
* exp_ch3.adb (Expand_Freeze_Enumeration_Type): If
Predicates_Ignores is true, the function Rep_To_Pos does raise
an exception for invalid data.
* exp_ch4.adb (Expand_N_Type_Conversion): IF target is a predicated
type do not apply check if Predicates_Ignored is true.
* exp_ch5.adb (Expand_N_Case_Statement): If Predicates_Ignored
is true, sem_prag.adb:
* sem_ch3.adb (Analyze_Object_Declaration): If Predicates_Ignored
is true do not emit predicate check on initializing expression.

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

9 years ago2016-05-02 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 2 May 2016 09:53:16 +0000 (09:53 +0000)] 
2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* get_spark_xrefs.adb (Get_Nat, Get_Name): Initialize variables when
they are declared; refine type of a counter from Integer to Natural.
* sem_ch5.adb, gnatcmd.adb, s-intman-posix.adb, eval_fat.adb,
prj.adb, sem_util.adb, s-intman-android.adb, prj-nmsc.adb, sem_ch8.adb,
exp_ch3.adb: Minor editing.

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

9 years ago2016-05-02 Yannick Moy <moy@adacore.com>
charlet [Mon, 2 May 2016 09:50:45 +0000 (09:50 +0000)] 
2016-05-02  Yannick Moy  <moy@adacore.com>

* a-tigeli.adb (Get_Line): Always set Last prior to returning.

2016-05-02  Yannick Moy  <moy@adacore.com>

* lib-xref.adb: Minor style fix in whitespace of declarations.
* put_spark_xrefs.adb (Put_SPARK_Xrefs): printing of strings
refactored without loops.
* put_spark_xrefs.ads (Write_Info_Str): new formal argument of
generic procedure.
* spark_xrefs.adb (Write_Info_Str): new actual in instantiation
of generic procedure.

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

9 years ago * config/i386/predicates.md (nonimm_ssenomem_operand): New predicate.
uros [Mon, 2 May 2016 09:49:39 +0000 (09:49 +0000)] 
* config/i386/predicates.md (nonimm_ssenomem_operand): New predicate.
(register_mixssei387nonimm_operand): Remove predicate.
* config/i386/i386.md (*fop_<mode>_comm): Merge from
*fop_<mode>_comm_mixed and *fop_<mode>_comm_i387.  Disable unsupported
alternatives using "enabled" attribute.  Also check X87_ENABLE_ARITH
for TARGET_MIX_SSE_I387 alternatives.
(*fop_<mode>_1): Merge from *fop_<mode>_1_mixed and *fop_<mode>_1_i387.
Disable unsupported alternatives using "enabled" attribute.  Use
nonimm_ssenomem_operand as operand 1 predicate.  Also check
X87_ENABLE_ARITH for TARGET_MIX_SSE_I387 alternatives.
* config/i386/predicates.md (nonimm_ssenomem_operand): New predicate.
(register_mixssei387nonimm_operand): Remove predicate.

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

9 years ago2016-05-02 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 2 May 2016 09:48:55 +0000 (09:48 +0000)] 
2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* lib-xref-spark_specific.adb (Add_SPARK_Scope): add task type scope.
(Detect_And_Add_SPARK_Scope): detect and add task type scope.
(Enclosing_Subprogram_Or_Package): Respect boundaries of task
and entry declarations.
* spark_xrefs.ads: minor typo in comment.

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

9 years ago2016-05-02 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 2 May 2016 09:47:42 +0000 (09:47 +0000)] 
2016-05-02  Arnaud Charlet  <charlet@adacore.com>

* make.adb: Minor: avoid an exception when calling gnatmake with
no argument and gnatmake is built with checks on.
* lib-xref-spark_specific.adb: Minor code cleanup.

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

9 years agoMinor reformatting.
charlet [Mon, 2 May 2016 09:45:17 +0000 (09:45 +0000)] 
Minor reformatting.

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

9 years ago2016-05-02 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 2 May 2016 09:44:54 +0000 (09:44 +0000)] 
2016-05-02  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Normalize_Actuals): Take into account extra
actuals that may have been introduced previously. Normally extra
actuals are introduced when a call is expanded, but a validity
check may copy and reanalyze a call that carries an extra actual
(e.g. an accessibility parameter) before the call itself is
marked Analzyed, and the analysis of the copy has to be able to
cope with the added actual.

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

9 years agoSimplify cst_and_fits_in_hwi
rsandifo [Mon, 2 May 2016 09:40:32 +0000 (09:40 +0000)] 
Simplify cst_and_fits_in_hwi

While looking at the use of cst_and_fits_in_hwi in tree-ssa-loop-ivopts.c,
I had difficulty working out what the function actually tests.  The
final NUNITS check seems redundant, since it asks about the number of
HWIs in the _unextended_ constant.  We've already checked that the
unextended constant has no more than HOST_BITS_PER_WIDE_INT bits, so the
length must be 1.

I think this was my fault, sorry.

Tested on x86_64-linux-gnu and aarch64-linux-gnu.

gcc/
* tree.c (cst_and_fits_in_hwi): Simplify.

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