Dehao Chen [Thu, 1 Nov 2012 00:08:51 +0000 (00:08 +0000)]
tree-eh.c (do_return_redirection): Set location for jump statement.
gcc:
2012-10-31 Dehao Chen <dehao@google.com>
* tree-eh.c (do_return_redirection): Set location for jump statement.
(do_goto_redirection): Likewise.
(frob_into_branch_around): Likewise.
(lower_try_finally_nofallthru): Likewise.
(lower_try_finally_copy): Likewise.
(lower_try_finally_switch): Likewise.
* expr.c (store_expr): Use current insn location instead of expr
location.
(expand_expr_real): Likewise.
(expand_expr_real_1): Likewise.
gcc/testsuite:
2012-10-31 Dehao Chen <dehao@google.com>
* g++.dg/debug/dwarf2/block.C: New testcase.
From-SVN: r193053
Easwaran Raman [Wed, 31 Oct 2012 23:28:45 +0000 (23:28 +0000)]
re PR target/54938 (sh libgcc_unpack_df.o fails to build: ../../../srcw/libgcc/fp-bit.h:221:19: internal compiler error: in emit_cmp_and_jump_insn_1, at optabs.c:4273)
2012-10-31 Easwaran Raman <eraman@google.com>
PR target/54938
PR middle-end/54957
* optabs.c (emit_cmp_and_jump_insn_1): Add REG_BR_PROB note
only if it doesn't already exist.
* stmt.c (get_outgoing_edge_probs): Return 0 if BB is NULL.
(emit_case_dispatch_table): Handle the case where STMT_BB is
NULL.
(expand_sjlj_dispatch_table): Pass BB containing before_case
to emit_case_dispatch_table.
From-SVN: r193052
Lawrence Crowl [Wed, 31 Oct 2012 23:15:10 +0000 (23:15 +0000)]
This patch implements generic type query and conversion functions,
and applies them to the use of cgraph_node, varpool_node, and symtab_node.
The functions are:
bool is_a <TYPE> (pointer)
Tests whether the pointer actually points to a more derived TYPE.
TYPE *as_a <TYPE> (pointer)
Converts pointer to a TYPE*.
TYPE *dyn_cast <TYPE> (pointer)
Converts pointer to TYPE* if and only if "is_a <TYPE> pointer".
Otherwise, returns NULL.
This function is essentially a checked down cast.
These functions reduce compile time and increase type safety when treating a
generic item as a more specific item. In essence, the code change is from
if (symtab_function_p (node))
{
struct cgraph_node *cnode = cgraph (node);
....
}
to
if (cgraph_node *cnode = dyn_cast <cgraph_node> (node))
{
....
}
The necessary conditional test defines a variable that holds a known good
pointer to the specific item and avoids subsequent conversion calls and
the assertion checks that may come with them.
When, the property test is embedded within a larger condition, the variable
declaration gets pulled out of the condition. (This leaves some room for
using the variable inappropriately.)
if (symtab_variable_p (node)
&& varpool (node)->finalized)
varpool_analyze_node (varpool (node));
becomes
varpool_node *vnode = dyn_cast <varpool_node> (node);
if (vnode && vnode->finalized)
varpool_analyze_node (vnode);
Note that we have converted two sets of assertions in the calls to varpool
into safe and efficient use of a variable.
There are remaining calls to symtab_function_p and symtab_variable_p that
do not involve a pointer to a more specific type. These have been converted
to calls to a functions is_a <cgraph_node> and is_a <varpool_node>. The
original predicate functions have been removed.
The cgraph.h header defined both a struct and a function with the name
varpool_node. This name overloading can cause some unintuitive error messages
when, as is common in C++, one omits the struct keyword when using the type.
I have renamed the function to varpool_node_for_decl.
Tested on x86_64.
Index: gcc/ChangeLog
2012-10-31 Lawrence Crowl <crowl@google.com>
* is-a.h: New.
(is_a <T> (U*)): New. Test for is-a relationship.
(as_a <T> (U*)): New. Treat as a derived type.
(dyn_cast <T> (U*)): New. Conditionally cast based on is_a.
* cgraph.h (varpool_node): Rename to varpool_node_for_decl.
Adjust callers to match.
(is_a_helper <cgraph_node>::test (symtab_node_def *)): New.
(is_a_helper <varpool_node>::test (symtab_node_def *)): New.
(symtab_node_def::try_function): New. Change most calls to
symtab_function_p with calls to dyn_cast <cgraph_node> (p).
(symtab_node_def::try_variable): New. Change most calls to
symtab_variable_p with calls to dyn_cast <varpool_node> (p).
(symtab_function_p): Remove. Change callers to use
is_a <cgraph_node> (p) instead.
(symtab_variable_p): Remove. Change callers to use
is_a <varpool_node> (p) instead.
* cgraph.c (cgraph_node_for_asm): Remove redundant call to
symtab_node_for_asm.
* cgraphunit.c (symbol_finalized_and_needed): New.
(symbol_finalized): New.
(cgraph_analyze_functions): Split complicated conditionals out into
above new functions.
* Makefile.in (CGRAPH_H): Add is-a.h as used by cgraph.h.
From-SVN: r193051
Jan Hubicka [Wed, 31 Oct 2012 23:10:22 +0000 (00:10 +0100)]
* gcc.dg/pr44974.c: Add noinline.
From-SVN: r193050
Oleg Endo [Wed, 31 Oct 2012 22:05:40 +0000 (22:05 +0000)]
Fix PR number typo in ChangeLog.
From-SVN: r193049
Janus Weil [Wed, 31 Oct 2012 21:55:50 +0000 (22:55 +0100)]
re PR fortran/53718 ([OOP] gfortran generates asm label twice in the same output file)
2012-10-31 Janus Weil <janus@gcc.gnu.org>
PR fortran/53718
* trans.h (GFC_DECL_PUSH_TOPLEVEL): Removed.
* trans-decl.c (gfc_get_symbol_decl,gfc_generate_function_code): Remove
GFC_DECL_PUSH_TOPLEVEL.
(build_function_decl): Do not push __copy procedure to toplevel.
2012-10-31 Janus Weil <janus@gcc.gnu.org>
PR fortran/53718
* gfortran.dg/class_54.f90: New.
From-SVN: r193048
Steven Bosscher [Wed, 31 Oct 2012 21:37:10 +0000 (21:37 +0000)]
re PR tree-optimization/55018 (CDDCE pass is too aggressive sometimes with infinite loops and with some functions)
gcc/
PR tree-optimization/55018
* basic-block.h (dfs_find_deadend): New prototype.
* cfganal.c (dfs_find_deadend): No longer static. Use bitmap
instead of sbitmap for visited.
(flow_dfs_compute_reverse_execute): Use dfs_find_deadend here, too.
* dominance.c (calc_dfs_tree): If saw_unconnected,
traverse from dfs_find_deadend of unconnected b
instead of b directly.
testsuite/
PR tree-optimization/55018
* gcc.dg/torture/pr55018.c: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r193047
Ian Lance Taylor [Wed, 31 Oct 2012 20:49:53 +0000 (20:49 +0000)]
runtime/goc2c: Drop gc support, change int to intgo.
From-SVN: r193046
Eric Botcazou [Wed, 31 Oct 2012 20:10:26 +0000 (20:10 +0000)]
i386.c (ix86_expand_prologue): Emit frame info for the special register pushes before frame probing and allocation.
* config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
special register pushes before frame probing and allocation.
From-SVN: r193044
Paolo Carlini [Wed, 31 Oct 2012 19:14:39 +0000 (19:14 +0000)]
re PR c++/54583 (Spurious warning: value computed is not used with variable-size array)
/cp
2012-10-31 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54583
* tree.c (build_cplus_array_type): Set TREE_NO_WARNING on the
TYPE_SIZE of VLAs.
/testsuite
2012-10-31 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54583
* g++.dg/ext/vla13.C: New.
From-SVN: r193043
Vladimir Makarov [Wed, 31 Oct 2012 18:41:18 +0000 (18:41 +0000)]
re PR middle-end/55150 (Crash in copy_rtx)
2012-10-31 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/55150
* lra-constraints.c (lra_constraints): Update debug insn info
after equivalence change.
2012-10-31 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/55150
* gcc.dg/pr55150.c: New test.
From-SVN: r193042
Tobias Burnus [Wed, 31 Oct 2012 17:22:26 +0000 (18:22 +0100)]
re PR fortran/55134 (associate construct and assumed size array)
2012-10-31 Tobias Burnus <burnus@net-b.de>
PR fortran/55134
* trans-array.c (gfc_conv_array_parameter): Regard AS_DEFERRED
* as
array with descriptor.
2012-10-31 Tobias Burnus <burnus@net-b.de>
PR fortran/55134
* gfortran.dg/associate_11.f90: New.
From-SVN: r193041
Diego Novillo [Wed, 31 Oct 2012 16:37:06 +0000 (12:37 -0400)]
validate_failures.py: Fix parsing of summary lines.
* testsuite-management/validate_failures.py: Fix parsing
of summary lines.
From-SVN: r193039
Jan Hubicka [Wed, 31 Oct 2012 16:15:21 +0000 (17:15 +0100)]
ipa-inline.c (ipa_inline): Avoid infinite loop on inlining empty virtual functions calling themselves.
* ipa-inline.c (ipa_inline): Avoid infinite loop on inlining
empty virtual functions calling themselves.
From-SVN: r193038
Tobias Burnus [Wed, 31 Oct 2012 15:46:59 +0000 (16:46 +0100)]
complex.c (csqrtq): NaN and INF fixes.
2012-10-31 Tobias Burnus <burnus@net-b.de>
Joseph Myers <joseph@codesourcery.com>
David S. Miller <davem@davemloft.net>
Ulrich Drepper <drepper@redhat.com>
Marek Polacek <polacek@redhat.com>:
Petr Baudis <pasky@suse.cz>
* math/complex.c (csqrtq): NaN and INF fixes.
* math/sqrtq.c (sqrt): NaN, INF and < 0 fixes.
* math/expm1q.c (expm1q): Changes from GLIBC. Use expq for
large parameters. Fix errno for boundary conditions.
* math/finiteq.c (finiteq): Add comment.
* math/fmaq.c (fmaq): Changes from GLIBC. Fix missing underflows
and bad results for some subnormal results. Fix sign of inexact
zero return. Fix sign of exact zero return.
Ensure additions are not scheduled after fetestexcept.
* math/jnq.c (jnq): Changes from GLIBC. Set up errno properly
for ynq. Fix jnq precision.
* math/nearbyintq.c (nearbyintq): Changes from GLIBC. Do not
manipulate bits before adding and subtracting TWO112[sx].
* math/rintq.c (rintq): Ditto.
* math/scalbnq.c (scalbnq): Changes from GLIBC. Fix integer
overflow.
Co-Authored-By: David S. Miller <davem@davemloft.net>
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
Co-Authored-By: Ulrich Drepper <drepper@redhat.com>
From-SVN: r193037
Tom Tromey [Wed, 31 Oct 2012 14:55:20 +0000 (14:55 +0000)]
re PR other/50899 (need @direntry for gcov)
PR other/50899
* doc/gcc.texi: Add @direntry for gcov.
From-SVN: r193036
Joern Rennecke [Wed, 31 Oct 2012 14:23:00 +0000 (14:23 +0000)]
* expr.c (can_move_by_pieces): Apply ATTRIBUTE_UNUSED to len.
From-SVN: r193035
Marc Glisse [Wed, 31 Oct 2012 13:01:30 +0000 (13:01 +0000)]
Uppercase in ChangeLog.
From-SVN: r193034
Jonathan Yong [Wed, 31 Oct 2012 11:36:45 +0000 (11:36 +0000)]
os_defines.h: Do not define anymore _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
2012-10-31 Jonathan Yong <jon_y@users.sourceforge.net>
* config/os/mingw32-w64/os_defines.h: Do not define anymore
_GLIBCXX_HAVE_BROKEN_VSWPRINTF.
From-SVN: r193033
Jonathan Yong [Wed, 31 Oct 2012 11:34:27 +0000 (11:34 +0000)]
os_defines.h: Do not define anymore _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
2012-10-31 Jonathan Yong <jon_y@users.sourceforge.net>
* config/os/mingw32-w64/os_defines.h: Do not define anymore
_GLIBCXX_HAVE_BROKEN_VSWPRINTF.
From-SVN: r193032
Dodji Seketeli [Wed, 31 Oct 2012 08:55:43 +0000 (08:55 +0000)]
PR c++/54955 - Fail to parse alignas expr at the beginning of a declaration
In this PR, g++ embarrassingly fails to parse the simple alignas
expression below:
alignas(double) int f;
even though the simple-declaration production in Clause 7 suggests
otherwise.
Fixed thus and tested on x86_64-unknown-linux-gnu against trunk.
gcc/cp
PR c++/54955
* parser.c (cp_nth_tokens_can_be_std_attribute_p): Recognize the
'Alignas' keyword as the beginning of a c++11 attribute specifier.
Update the comment of the function.
(cp_next_tokens_can_be_gnu_attribute_p): Update the comment of the
function.
gcc/testsuite/
PR c++/54955
* g++.dg/cpp0x/gen-attrs-48-2.C: New test.
From-SVN: r193029
Jakub Jelinek [Wed, 31 Oct 2012 08:45:27 +0000 (09:45 +0100)]
re PR tree-optimization/19105 (fold does not spot anti-range test)
PR tree-optimization/19105
PR tree-optimization/21643
PR tree-optimization/46309
* tree-ssa-reassoc.c (init_range_entry): Add STMT argument
and use it if EXP is NULL.
(update_range_test): Handle OPCODE equal to ERROR_MARK
and oe->op NULL.
(optimize_range_tests): Likewise.
(final_range_test_p, suitable_cond_bb, no_side_effect_bb, get_ops,
maybe_optimize_range_tests): New functions.
(reassociate_bb): Call maybe_optimize_range_tests if last
stmt of bb is GIMPLE_COND that hasn't been visited yet.
* gcc.dg/pr19105.c: New test.
* gcc.dg/pr21643.c: New test.
* gcc.dg/pr46309-2.c: New test.
* gcc.c-torture/execute/pr46309.c: New test.
From-SVN: r193028
Richard Sandiford [Wed, 31 Oct 2012 08:01:36 +0000 (08:01 +0000)]
rs6000.md (insvsi, [...]): Rename to...
gcc/
* config/rs6000/rs6000.md (insvsi, insvdi, extvsi, extvdi): Rename to...
(insvsi_internal, insvdi_internal, extvsi_internal)
(extvdi_internal): ...this.
(insv, extv): Update accordingly.
From-SVN: r193027
Richard Sandiford [Wed, 31 Oct 2012 08:01:23 +0000 (08:01 +0000)]
combine.c (simplify_comparison): If BITS_BIG_ENDIAN...
gcc/
* combine.c (simplify_comparison): If BITS_BIG_ENDIAN, always assume
that zero_extracts of const_ints are doing word-sized extractions.
From-SVN: r193026
Richard Sandiford [Wed, 31 Oct 2012 08:01:14 +0000 (08:01 +0000)]
combine.c (make_extraction): Remove dead wanted_inner_mode- and pos_rtx-related code.
gcc/
* combine.c (make_extraction): Remove dead wanted_inner_mode-
and pos_rtx-related code.
From-SVN: r193025
Richard Sandiford [Wed, 31 Oct 2012 08:00:51 +0000 (08:00 +0000)]
expmed.c (store_bit_field_1): Move generation of MEM insvs to the MEM_P block.
gcc/
* expmed.c (store_bit_field_1): Move generation of MEM insvs
to the MEM_P block.
(extract_bit_field_1): Likewise extvs and extzvs.
From-SVN: r193024
Richard Sandiford [Wed, 31 Oct 2012 08:00:39 +0000 (08:00 +0000)]
expmed.c (store_bit_field_using_insv): New function, split out from...
gcc/
* expmed.c (store_bit_field_using_insv): New function,
split out from...
(store_bit_field_1): ...here.
(extract_bit_field_using_extv): New function, split out from...
(extract_bit_field_1): ...here.
From-SVN: r193023
Richard Sandiford [Wed, 31 Oct 2012 08:00:24 +0000 (08:00 +0000)]
expmed.c (store_bit_field_1): Use OP_MODE to check whether an insv pattern is available.
gcc/
* expmed.c (store_bit_field_1): Use OP_MODE to check whether an
insv pattern is available. Remove redundant checks for OP_MODE
being MAX_MACHINE_MODE.
(extract_bit_field_1): Remove redundant checks for EXT_MODE being
MAX_MACHINE_MODE.
From-SVN: r193022
Richard Sandiford [Wed, 31 Oct 2012 08:00:12 +0000 (08:00 +0000)]
expmed.c (store_bit_field_1): Remove test for BLKmode values.
gcc/
* expmed.c (store_bit_field_1): Remove test for BLKmode values.
From-SVN: r193021
Ralf Corsepius [Wed, 31 Oct 2012 05:03:28 +0000 (06:03 +0100)]
t-rtems: New (Custom multilibs).
2012-10-31 Ralf Corsépius <ralf.corsepius@rtems.org>,
Joel Sherrill <joel.sherrill@oarcorp.com>
* config/sparc/t-rtems: New (Custom multilibs).
* config/sparc/t-rtems-64: New (Custom multilibs).
* config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
(sparc-*-rtems*): Add sparc/t-rtems.
Co-Authored-By: Joel Sherrill <joel.sherrill@oarcorp.com>
From-SVN: r193018
Richard Henderson [Wed, 31 Oct 2012 04:46:20 +0000 (21:46 -0700)]
Detect assembler support for RTM
* acinclude.m4 (LIBITM_CHECK_AS_RTM): New.
* configure.ac: Use it.
* config.h.in, configure: Rebuild.
* testsuite/Makefile.in: Rebuild.
From-SVN: r193017
Alan Modra [Wed, 31 Oct 2012 04:22:48 +0000 (14:52 +1030)]
rs6000.c (legitimize_reload_address): Remove code handling non-aligned ld/std.
gcc/
* config/rs6000/rs6000.c (legitimize_reload_address): Remove code
handling non-aligned ld/std.
* config/rs6000/paired.md (movv2sf_paired): Use 'Y' instead of 'o'.
* config/rs6000/vsx.md (vsx_mov, vsx_movti): Likewise.
* config/rs6000/altivec.md (altivec_mov, altivec_movti): Likewise.
* config/rs6000/dfp.md (movtd_internal): Use 'm' instead of 'o'.
gcc/testsuite/
* gcc.target/powerpc/dimode_off.c: New.
* gcc.target/powerpc/timode_off.c: New.
* gcc.target/powerpc/dfmode_off.c: New.
* gcc.target/powerpc/tfmode_off.c: New.
From-SVN: r193016
Alan Modra [Wed, 31 Oct 2012 03:45:34 +0000 (14:15 +1030)]
linux64_closure.S: Add new ABI support.
* src/powerpc/linux64_closure.S: Add new ABI support.
* src/powerpc/linux64.S: Likewise.
From-SVN: r193015
Alan Modra [Wed, 31 Oct 2012 03:43:22 +0000 (14:13 +1030)]
linux64.h (TARGET_OS_CPP_BUILTINS): Define _CALL_LINUX.
* config/rs6000/linux64.h (TARGET_OS_CPP_BUILTINS): Define _CALL_LINUX.
From-SVN: r193014
Joern Rennecke [Wed, 31 Oct 2012 03:21:03 +0000 (03:21 +0000)]
re PR target/52498 (vmsdbgout.c fails to build with --enable-werror-always)
PR target/52498
* vmsdbgout.c (vmsdbgout_write_source_line): Comment out names of
last two parameters.
From-SVN: r193013
Joern Rennecke [Wed, 31 Oct 2012 02:51:26 +0000 (02:51 +0000)]
lra-constraints.c (choose_split_class): Add ATTRIBUTE_UNUSED to hard_reg_class.
* lra-constraints.c (choose_split_class): Add ATTRIBUTE_UNUSED to
hard_reg_class.
From-SVN: r193012
Joel Sherrill [Wed, 31 Oct 2012 02:17:37 +0000 (02:17 +0000)]
config.host (m32r-*-rtems*): Include crtinit.o and crtfinit.o as extra_parts.
2012-10-31 Joel Sherrill <joel.sherrill@oarcorp.com>
* config.host (m32r-*-rtems*): Include crtinit.o and crtfinit.o
as extra_parts.
From-SVN: r193010
Jonathan Wakely [Wed, 31 Oct 2012 01:09:59 +0000 (01:09 +0000)]
forward_list.h (forward_list): Adjust comments.
* include/bits/forward_list.h (forward_list): Adjust comments.
(forward_list(const forward_list&, const _Alloc&)): Use
_M_range_initialize to copy elements.
(forward_list(forward_list&&, const _Alloc&)): Add exception
specification.
(_Fwd_list_base(const _Fwd_list_base&, const _Node_alloc_type&)):
Remove.
* include/bits/forward_list.tcc (_Fwd_list_base(const _Fwd_list_base&,
const _Node_alloc_type&)): Remove.
(_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Fix
memory leak when allocators are not equal.
From-SVN: r193009
Ian Lance Taylor [Wed, 31 Oct 2012 00:38:49 +0000 (00:38 +0000)]
compiler: Add -fgo-relative-import-path.
* lang.opt (-fgo-relative-import-path): New option.
* go-lang.c (go_relative_import_path): New static variable.
(go_langhook_init): Pass go_relative_import_path to
go_create_gogo.
(go_langhook_handle_option): Handle -fgo-relative-import-path.
* go-c.h (go_create_gogo): Update declaration.
* gccgo.texi (Invoking gccgo): Document
-fgo-relative-import-path.
From-SVN: r193008
GCC Administrator [Wed, 31 Oct 2012 00:18:51 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r193006
Alexandre Oliva [Tue, 30 Oct 2012 23:47:35 +0000 (23:47 +0000)]
re PR debug/54551 (DF resets some DEBUG_INSNs unnecessarily)
PR debug/54551
PR debug/54693
* valtrack.c (dead_debug_promote_uses): Assert-check that
global used bit was clear and initialize entry
unconditionally.
From-SVN: r193003
Eric Botcazou [Tue, 30 Oct 2012 23:08:14 +0000 (23:08 +0000)]
cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in head comment.
* cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
head comment.
(hash_rtx): Likewise.
From-SVN: r193001
H.J. Lu [Tue, 30 Oct 2012 22:56:52 +0000 (22:56 +0000)]
Remove lra_in_progress check for ARG_POINTER_REGNUM
gcc/
PR rtl-optimization/55093
* rtlanal.c (simplify_subreg_regno): Remove lra_in_progress
check for ARG_POINTER_REGNUM.
gcc/testsuite/
PR rtl-optimization/55093
* gcc.target/i386/pr55093.c: New file.
From-SVN: r193000
Eric Botcazou [Tue, 30 Oct 2012 22:54:04 +0000 (22:54 +0000)]
* gcc-interface/Make-lang.in: Fix and clean up rules for C files.
From-SVN: r192998
H.J. Lu [Tue, 30 Oct 2012 21:39:05 +0000 (21:39 +0000)]
Rename pr55116.c to pr55116-1.c
* gcc.target/i386/pr55116.c: Renamed to ...
* gcc.target/i386/pr55116-1.c: This.
From-SVN: r192997
H.J. Lu [Tue, 30 Oct 2012 21:35:35 +0000 (21:35 +0000)]
Add another testcase for PR middle-end/55116
* gcc.target/i386/pr55116-2.c: New file.
From-SVN: r192996
Steve Ellcey [Tue, 30 Oct 2012 21:21:41 +0000 (21:21 +0000)]
mti-linux.h (SYSROOT_SUFFIX_SPEC): Change order and add mabi=64.
2012-10-30 Steve Ellcey <sellcey@mips.com>
* config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Change order
and add mabi=64.
(DRIVER_SELF_SPECS): Make -n32 the default on mips64* archs.
* config/mips/t-mti-linux (MULTILIB_OPTIONS): Change order.
(MULTILIB_DIRNAMES): Ditto.
(MULTILIB_EXCEPTIONS): New.
From-SVN: r192995
Joern Rennecke [Tue, 30 Oct 2012 21:06:12 +0000 (21:06 +0000)]
Fix ChangeLog typo.
From-SVN: r192994
Joern Rennecke [Tue, 30 Oct 2012 21:03:03 +0000 (21:03 +0000)]
lra-constrraints.c (check_secondary_memory_needed_p): Add ATTRIBUTE_UNUSED to parameters.
* lra-constrraints.c (check_secondary_memory_needed_p):
Add ATTRIBUTE_UNUSED to parameters.
From-SVN: r192993
Richard Sandiford [Tue, 30 Oct 2012 19:07:28 +0000 (19:07 +0000)]
defaults.h (SLOW_UNALIGNED_ACCESS): Provide default definition.
gcc/
* defaults.h (SLOW_UNALIGNED_ACCESS): Provide default definition.
* expmed.c (SLOW_UNALIGNED_ACCESS): Remove default definition.
* expr.c (SLOW_UNALIGNED_ACCESS): Likewise.
* lra-constraints.c (SLOW_UNALIGNED_ACCESS): Likewise.
(simplify_operand_subreg): Don't check STRICT_ALIGNMENT here.
From-SVN: r192992
Jan Hubicka [Tue, 30 Oct 2012 16:51:12 +0000 (17:51 +0100)]
* ipa-inline-analysis.c (eliminated_by_inlining_prob): Cleanup.
From-SVN: r192991
Jan Hubicka [Tue, 30 Oct 2012 16:50:05 +0000 (16:50 +0000)]
tree-ssa-loop-niter.c (number_of_iterations_exit): New parameter EVERY_ITERATION with implicit value of true.
* tree-ssa-loop-niter.c (number_of_iterations_exit): New parameter
EVERY_ITERATION with implicit value of true.
(record_estimate): Check dominance relationship of the basic block
we are estimating on instead of relying on UPPER to be false.
(struct ilb_data): Drop RELIABLE.
(idx_infer_loop_bounds): Update.
(infer_loop_bounds_from_ref): Drop parameter RELIABLE.
(infer_loop_bounds_from_array): Drop parameter RELIABLE.
(infer_loop_bounds_from_undefined): Update comments and handling
of RELIABLE.
(estimate_numbers_of_iterations_loop): Record all bounds.
From-SVN: r192990
Jan Hubicka [Tue, 30 Oct 2012 16:12:16 +0000 (17:12 +0100)]
tree-ssa-loop-niter.c (number_of_iterations_exit): New parameter EVERY_ITERATION with implicit value of true.
* tree-ssa-loop-niter.c (number_of_iterations_exit): New parameter
EVERY_ITERATION with implicit value of true.
(record_estimate): Check dominance relationship of the basic block
we are estimating on instead of relying on UPPER to be false.
(struct ilb_data): Drop RELIABLE.
(idx_infer_loop_bounds): Update.
(infer_loop_bounds_from_ref): Drop parameter RELIABLE.
(infer_loop_bounds_from_array): Drop parameter RELIABLE.
(infer_loop_bounds_from_undefined): Update comments and handling
of RELIABLE.
(estimate_numbers_of_iterations_loop): Record all bounds.
From-SVN: r192989
Richard Sandiford [Tue, 30 Oct 2012 14:33:48 +0000 (14:33 +0000)]
lra-eliminations.c (lra_eliminate_regs_1): Use simplify_gen_subreg rather than gen_rtx_SUBREG.
gcc/
* lra-eliminations.c (lra_eliminate_regs_1): Use simplify_gen_subreg
rather than gen_rtx_SUBREG.
From-SVN: r192988
Richard Biener [Tue, 30 Oct 2012 14:14:04 +0000 (14:14 +0000)]
gimple.h (gimple_store_p): New predicate.
2012-10-30 Richard Biener <rguenther@suse.de>
* gimple.h (gimple_store_p): New predicate.
(gimple_assign_load_p): Likewise.
* tree-inline.c (estimate_num_insns): Use it.
* gcc.dg/vect/slp-perm-2.c: Adjust.
From-SVN: r192987
Marc Glisse [Tue, 30 Oct 2012 12:56:47 +0000 (13:56 +0100)]
fold-const.c (fold_binary_op_with_conditional_arg): Handle vectors.
2012-10-30 Marc Glisse <marc.glisse@inria.fr>
* fold-const.c (fold_binary_op_with_conditional_arg): Handle vectors.
(fold_binary_loc): call it for VEC_COND_EXPR.
From-SVN: r192986
James Greenhalgh [Tue, 30 Oct 2012 12:31:49 +0000 (12:31 +0000)]
2012-10-30 James Greenhalgh <james.greenhalgh@arm.com>
Tejas Belagod <tejas.belagod@arm.com>
* config/aarch64/aarch64-simd.md
(aarch64_simd_bsl<mode>_internal): New pattern.
(aarch64_simd_bsl<mode>): Likewise.
(aarch64_vcond_internal<mode>): Likewise.
(vcondu<mode><mode>): Likewise.
(vcond<mode><mode>): Likewise.
* config/aarch64/iterators.md (UNSPEC_BSL): Add to define_constants.
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
From-SVN: r192985
Richard Biener [Tue, 30 Oct 2012 12:02:39 +0000 (12:02 +0000)]
re PR tree-optimization/55111 (ICE: tree check: expected ssa_name, have integer_cst in live_on_edge, at tree-vrp.c:89)
2012-10-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/55111
* tree-ssa-pre.c (eliminate_insert): Properly fold the built
stmt.
* gcc.dg/torture/pr55111.c: New testcase.
From-SVN: r192984
Oleg Endo [Tue, 30 Oct 2012 09:22:14 +0000 (09:22 +0000)]
re PR target/54963 (Wrong code generated for libgfortran/generated/eoshift3_8.c on SH)
PR target/54963
* config/sh/iterators.md (SIDI): New mode iterator.
* config/sh/sh.md (negdi2): Use parallel around operation and T_REG
clobber in expander.
(*negdi2): Mark output operand as early clobbered. Add T_REG clobber.
Split after reload. Simplify split code.
(abssi2, absdi2): Fold expanders into abs<mode>2.
(*abssi2, *absdi2): Fold into *abs<mode>2 insn_and_split. Split insns
before reload.
(*negabssi2, *negabsdi2): Fold into *negabs<mode>2. Add T_REG clobber.
Split insns before reload.
(negsi_cond): Reformat. Use emit_move_insn instead of
gen_movesi.
(negdi_cond): Reformat. Use emit_move_insn instead of a pair
of gen_movsi. Split insn before reload.
From-SVN: r192983
Oleg Endo [Tue, 30 Oct 2012 09:07:08 +0000 (09:07 +0000)]
re PR c++/54988 (fpmath=sse target pragma causes inlining failure because of target specific option mismatch)
PR target/54988
* config/sh/sh.md (tstqi_t_zero): Rename to *tstqi_t_zero.
(*tst<mode>_t_zero): New insns.
* config/sh/iterators.md (lowpart_be, lowpart_le): New mode attributes.
PR target/54988
* gcc.target/sh/pr53988.c: New.
From-SVN: r192982
H.J. Lu [Tue, 30 Oct 2012 08:38:11 +0000 (01:38 -0700)]
Remove alloca from dump_gimple_bb_header
* gimple-pretty-print.c (dump_gimple_bb_header): Avoid alloca.
From-SVN: r192981
Ganesh Gopalasubramanian [Tue, 30 Oct 2012 08:30:21 +0000 (08:30 +0000)]
Add myself to MAINTAINERS
From-SVN: r192980
Jakub Jelinek [Tue, 30 Oct 2012 08:08:01 +0000 (09:08 +0100)]
re PR debug/54953 (New sra-1.c FAILs on powerpc)
PR debug/54953
* valtrack.h (DEBUG_TEMP_AFTER_WITH_REG_FORCE): New.
* valtrack.c (dead_debug_insert_temp): Use emit_debug_insn_after
even for where == DEBUG_TEMP_AFTER_WITH_REG_FORCE.
* dce.c (word_dce_process_block, dce_process_block): Pass
DEBUG_TEMP_AFTER_WITH_REG_FORCE if insn is needed and therefore
not going to be eliminated.
From-SVN: r192978
Bin Cheng [Tue, 30 Oct 2012 02:17:50 +0000 (02:17 +0000)]
re PR target/54989 (FAIL: gcc.dg/hoist-register-pressure.c scan-rtl-dump hoist "PRE/HOIST: end of bb .* copying expression" on darwin)
PR target/54989
* gcc.dg/hoist-register-pressure-1.c: Rename from
hoist-register-pressure.c. Add nonpic condition.
* gcc.dg/hoist-register-pressure-2.c: New testcase.
From-SVN: r192976
GCC Administrator [Tue, 30 Oct 2012 00:17:58 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r192975
Lawrence Crowl [Tue, 30 Oct 2012 00:02:55 +0000 (00:02 +0000)]
This patch implements the unification of the *bitmap interfaces as discussed.
Essentially, we rename ebitmap and sbitmap functions to use the same names
as the bitmap functions. This rename works because we can now overload
on the bitmap type. Some macros now become inline functions to enable
that overloading.
The sbitmap non-bool returning bitwise operations have been merged with
the bool versions. Sometimes this merge involved modifying the non-bool
version to compute the bool value, and sometimes modifying bool version to
add additional work from the non-bool version. The redundant routines have
been removed.
The allocation functions have not been renamed, because we often do not
have an argument on which to overload. The cardinality functions have not
been renamed, because they have different parameters, and are thus not
interchangable. The iteration functions have not been renamed, because
they are functionally different.
Tested on x86_64, contrib/config-list.mk testing passed.
Index: gcc/ChangeLog
2012-10-29 Lawrence Crowl <crowl@google.com>
* sbitmap.h (sbitmap_copy): Rename bitmap_copy.
(sbitmap_copy_n): Rename bitmap_copy_n.
(sbitmap_equal): Rename bitmap_equal_p.
(sbitmap_empty_p): Rename bitmap_empty_p.
(sbitmap_range_empty_p): Rename bitmap_range_empty_p.
(sbitmap_zero): Rename bitmap_clear.
(sbitmap_ones): Rename bitmap_ones.
(sbitmap_vector_zero): Rename bitmap_vector_clear.
(sbitmap_vector_ones): Rename bitmap_vector_ones.
(sbitmap_not): Rename bitmap_not.
(sbitmap_a_and_b_cg): Commented out.
(sbitmap_a_and_b): Rename bitmap_and. Add bool return.
(sbitmap_difference): Rename bitmap_and_compl.
(sbitmap_a_or_b_cg): Commented out.
(sbitmap_a_or_b): Rename bitmap_xor. Add bool return.
(sbitmap_a_xor_b_cg): Commented out.
(sbitmap_a_xor_b): Rename bitmap_xor. Add bool return.
(sbitmap_a_and_b_or_c_cg): Rename bitmap_and_or.
(sbitmap_a_and_b_or_c): Commented out.
(sbitmap_a_or_b_and_c_cg): Rename bitmap_or_and.
(sbitmap_a_or_b_and_c): Commented out.
(sbitmap_union_of_diff_cg): Rename bitmap_ior_and_compl.
(sbitmap_union_of_diff): Commented out.
(dump_sbitmap): Rename dump_bitmap.
(dump_sbitmap_file): Rename dump_bitmap_file.
(debug_sbitmap): Rename debug_bitmap.
(dump_sbitmap_vector): Rename dump_bitmap_vector.
(sbitmap_first_set_bit): Rename bitmap_first_set_bit.
(sbitmap_last_set_bit): Rename bitmap_last_set_bit.
(sbitmap_a_subset_b_p): Rename bitmap_subset_p.
(sbitmap_any_common_bits): Rename bitmap_intersect_p.
(#define sbitmap_free): Reimplement as inline function.
(#define sbitmap_vector_free): Reimplement as inline function.
* bitmap.h (#define bitmap_zero): Remove as redundant.
(#define bitmap_empty_p): Reimplement as inline function.
(#define dump_bitmap): Reimplement as inline function.
From-SVN: r192969
Jonathan Wakely [Mon, 29 Oct 2012 23:21:35 +0000 (23:21 +0000)]
re PR c++/54930 (Add warning switch for "returning reference to temporary" and similar)
gcc/c-family:
PR c++/54930
* c.opt (Wreturn_local_addr): Define new option.
gcc/c:
PR c++/54930
* c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
gcc/cp:
PR c++/54930
* typeck.c (maybe_warn_about_returning_address_of_local): Use
OPT_Wreturn_local_addr.
gcc:
PR c++/54930
* doc/invoke.texi (Warning Options): Document -Wno-return-local-addr.
gcc/testsuite:
PR c++/54930
* gcc.dg/Wreturn-local-addr.c: New.
* g++.dg/warn/Wno-return-local-addr.C: New.
* g++.dg/warn/Wreturn-local-addr.C: New.
From-SVN: r192968
H.J. Lu [Mon, 29 Oct 2012 23:09:03 +0000 (23:09 +0000)]
Add a testcase for PR middle-end/55116
PR middle-end/55116
* gcc.target/i386/pr55116.c: New file.
From-SVN: r192967
H.J. Lu [Mon, 29 Oct 2012 21:56:35 +0000 (21:56 +0000)]
Remove trailing white spaces
* lra-assigns.c: Remove trailing white spaces.
* lra-coalesce.c: Likewise.
* lra-constraints.c: Likewise.
* lra-eliminations.c: Likewise.
* lra-int.h: Likewise.
* lra-spills.c: Likewise.
* lra.c: Likewise.
From-SVN: r192966
Jonathan Wakely [Mon, 29 Oct 2012 21:49:19 +0000 (21:49 +0000)]
re PR libstdc++/55123 ([C++11] Construction of shared_ptr<const T> from unique_ptr<const T> fails)
PR libstdc++/55123
* include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
Do not instantiate allocator with element_type.
* testsuite/20_util/shared_ptr/cons/55123.cc: New.
From-SVN: r192964
Manuel López-Ibáñez [Mon, 29 Oct 2012 20:17:23 +0000 (20:17 +0000)]
re PR c/53066 (Wshadow should not warn for shadowing an extern function)
2012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53066
c/
* c-decl.c (warn_if_shadowing): Do not warn if a variable
shadows a function, unless the variable is a function or a
pointer-to-function.
gcc/
* tree.h (FUNCTION_POINTER_TYPE_P): New.
testsuite/
* gcc.dg/Wshadow-4.c: New.
* gcc.dg/Wshadow-4.h: New.
From-SVN: r192963
Alexandre Oliva [Mon, 29 Oct 2012 19:37:25 +0000 (19:37 +0000)]
re PR debug/54693 (VTA guality issues with loops)
PR debug/54693
* gcc/valtrack.c (dead_debug_insert_temp): Defer rescan of
newly-emitted debug insn.
From-SVN: r192962
Alexandre Oliva [Mon, 29 Oct 2012 19:36:47 +0000 (19:36 +0000)]
re PR debug/54693 (VTA guality issues with loops)
gcc/ChangeLog:
PR debug/54693
* tree-ssa-threadedge.c (thread_around_empty_block): Copy
debug temps from predecessor before threading.
gcc/testsuite/ChangeLog:
PR debug/54693
* gcc.dg/guality/pr54693.c: New.
From-SVN: r192961
Diego Novillo [Mon, 29 Oct 2012 19:35:35 +0000 (15:35 -0400)]
* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.
From-SVN: r192960
Alexandre Oliva [Mon, 29 Oct 2012 19:27:31 +0000 (19:27 +0000)]
re PR debug/54551 (DF resets some DEBUG_INSNs unnecessarily)
PR debug/54551
PR debug/54693
* valtrack.c (dead_debug_global_find): Accept NULL dtemp.
(dead_debug_global_insert): Return new entry.
(dead_debug_global_replace_temp): Return early if REG is no
longer in place, or if dtemp was already substituted.
(dead_debug_promote_uses): Insert for all defs and replace all
debug uses at once.
(dead_debug_local_finish): Release used after promotion.
(dead_debug_insert_temp): Stop if dtemp is NULL.
From-SVN: r192959
Alexandre Oliva [Mon, 29 Oct 2012 19:27:09 +0000 (19:27 +0000)]
re PR debug/54693 (VTA guality issues with loops)
PR debug/54693
* loop-unroll.c (loop_exit_at_end_p): Skip debug insns.
From-SVN: r192958
Alexandre Oliva [Mon, 29 Oct 2012 19:26:16 +0000 (19:26 +0000)]
re PR debug/54693 (VTA guality issues with loops)
PR debug/54693
* config/i386/i386.c (add_parameter_dependencies): Stop
backward scan at the insn before the incoming head.
(ix86_dependencies_evaluation_hook): Skip debug insns. Stop
if first_arg is head.
From-SVN: r192957
Ian Lance Taylor [Mon, 29 Oct 2012 18:42:05 +0000 (18:42 +0000)]
mmap.c (backtrace_vector_release): Correct last patch: add aligned, not size.
* mmap.c (backtrace_vector_release): Correct last patch: add
aligned, not size.
From-SVN: r192956
Andrew Pinski [Mon, 29 Oct 2012 17:31:52 +0000 (17:31 +0000)]
aarch64-protos.h (aarch64_load_tp): New proto.
2012-10-29 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64-protos.h (aarch64_load_tp): New proto.
* config/aarch64/aarch64.c (aarch64_load_tp): Export.
(aarch64_init_builtins): Don't add __builtin_thread_pointer builtin.
* config/aarch64/aarch64.h (aarch64_builtins): Delete
From-SVN: r192955
Marc Glisse [Mon, 29 Oct 2012 17:16:51 +0000 (18:16 +0100)]
re PR middle-end/55027 (simplify vector multiplication by 1)
2012-10-29 Marc Glisse <marc.glisse@inria.fr>
PR middle-end/55027
gcc/
* tree.c (real_zerop, real_onep, real_twop, real_minus_onep):
Handle VECTOR_CST.
testsuite/
* gcc.dg/pr55027.c: New testcase.
From-SVN: r192954
Bruce Korb [Mon, 29 Oct 2012 16:58:16 +0000 (16:58 +0000)]
It is October, not September. :)
From-SVN: r192953
Bruce Korb [Mon, 29 Oct 2012 16:44:34 +0000 (16:44 +0000)]
Omit testing wrap and replacement fixes during testing.
This exposes a missing result and tests a test that got hidden before.
From-SVN: r192952
Vladimir Makarov [Mon, 29 Oct 2012 16:44:01 +0000 (16:44 +0000)]
rtlanal.c (strip_address_mutation): Use SUBREG_REG instead of XEXP.
2012-10-29 Vladimir Makarov <vmakarov@redhat.com>
* rtlanal.c (strip_address_mutation): Use SUBREG_REG instead of
XEXP.
From-SVN: r192951
Uros Bizjak [Mon, 29 Oct 2012 16:41:41 +0000 (17:41 +0100)]
i386.c (ix86_decompose_address): Use simplify_gen_subreg for all addresses, zero-extended with AND.
* config/i386/i386.c (ix86_decompose_address): Use simplify_gen_subreg
for all addresses, zero-extended with AND.
From-SVN: r192950
Vladimir Makarov [Mon, 29 Oct 2012 16:36:57 +0000 (16:36 +0000)]
re PR middle-end/55116 (LRA failed to decompose ASHIFT)
2012-10-29 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/55116
* rtlanal.c (strip_address_mutation): Add SUBREG case.
From-SVN: r192949
Arnaud Charlet [Mon, 29 Oct 2012 16:27:14 +0000 (16:27 +0000)]
* gcc-interface/Makefile.in (s-oscons.ads): Adjust call to xoscons.
From-SVN: r192947
Jan Hubicka [Mon, 29 Oct 2012 15:48:21 +0000 (16:48 +0100)]
ipa-inline.c (want_inline_function_called_once_p): Rename to ...
* ipa-inline.c (want_inline_function_called_once_p): Rename to ...
(want_inline_function_to_all_callers_p): check also functions with
multiple callers.
(ipa_inline): Handle inlining for size into multiple callers.
From-SVN: r192946
Ian Lance Taylor [Mon, 29 Oct 2012 15:43:37 +0000 (15:43 +0000)]
mmap.c (backtrace_vector_release): Make sure freed block is aligned on 8-byte boundary.
* mmap.c (backtrace_vector_release): Make sure freed block is
aligned on 8-byte boundary.
From-SVN: r192945
Vladimir Makarov [Mon, 29 Oct 2012 14:42:05 +0000 (14:42 +0000)]
re PR rtl-optimization/55106 (ice: Maximum number of LRA constraint passes is achieved (15))
2012-10-29 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55106
* g++.dg/pr55106.C: New.
From-SVN: r192944
Richard Guenther [Mon, 29 Oct 2012 14:25:22 +0000 (14:25 +0000)]
re PR middle-end/53695 (ICE: in dfs_enumerate_from, at cfganal.c:1221 with -O2 -ftracer and labels/gotos)
2012-10-29 Richard Guenther <rguenther@suse.de>
PR middle-end/53695
* tracer.c (tracer): Fixup loop structure.
* cfgloopmanip.c (force_single_succ_latches): Add assert.
(fix_loop_structure): Re-compute loop latches and disambiguate
loops with multiple latches if required.
* gcc.dg/torture/pr53695.c: New testcase.
From-SVN: r192943
Arnaud Charlet [Mon, 29 Oct 2012 11:56:46 +0000 (12:56 +0100)]
[multiple changes]
2012-10-29 Pascal Obry <obry@adacore.com>
* xoscons.adb, Make-generated.in; The template used by xoscons is now
given as parameter.
* gcc-interface/Make-lang.in: Update dependencies.
2012-10-29 Yannick Moy <moy@adacore.com>
* exp_dbug.adb (Qualify_Entity_Name): Only do renaming in formal
verification mode when there is a homonym.
From-SVN: r192942
James Greenhalgh [Mon, 29 Oct 2012 11:56:03 +0000 (11:56 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2012-10-26 James Greenhalgh <james.greenhalgh@arm.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r192941
Arnaud Charlet [Mon, 29 Oct 2012 11:42:17 +0000 (12:42 +0100)]
[multiple changes]
2012-10-29 Thomas Quinot <quinot@adacore.com>
* xoscons.adb: Minor reformatting.
2012-10-29 Yannick Moy <moy@adacore.com>
* exp_alfa.adb (Expand_Alfa): Backtrack change that removed
qualification of names in formal verification mode. Instead,
the qualification should be modified.
* exp_dbug.adb (Qualify_Entity_Name): Modify qualification in formal
verification mode, so that only a suffix is added to distinguish
homonyms from the same scope.
From-SVN: r192940
Arnaud Charlet [Mon, 29 Oct 2012 11:41:01 +0000 (12:41 +0100)]
[multiple changes]
2012-10-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document that pragma Optimize_Alignment (Space) is
ignored with a warning for packed variable length records.
2012-10-29 Thomas Quinot <quinot@adacore.com>
* socket.c, g-socthi-dummy.adb, g-socthi-dummy.ads, g-socthi-vms.adb,
g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
s-oscons-tmplt.c, g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb,
g-socthi.ads, xoscons.adb, g-socket.adb, g-sothco.ads: Introduce an
appropriate subtype for IOCTL requests, since these may be signed or
unsigned.
From-SVN: r192939
Arnaud Charlet [Mon, 29 Oct 2012 11:39:21 +0000 (12:39 +0100)]
[multiple changes]
2012-10-29 Gary Dismukes <dismukes@adacore.com>
* exp_alfa.adb: Minor reformatting.
2012-10-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Clarify documentation on maximum
line length style switch.
2012-10-29 Robert Dewar <dewar@adacore.com>
* layout.adb (Set_Composite_Alignment): Ignore pragma
Optimize_Alignment (Space) for packed variable length records.
From-SVN: r192938
Arnaud Charlet [Mon, 29 Oct 2012 11:36:12 +0000 (12:36 +0100)]
[multiple changes]
2012-10-29 Robert Dewar <dewar@adacore.com>
* s-bignum.adb: Minor comment change.
2012-10-29 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c: Fix signedness of ioctl request identifiers
for x86_64-freebsd.
2012-10-29 Yannick Moy <moy@adacore.com>
* exp_alfa.adb (Expand_Alfa): Remove qualification of names.
From-SVN: r192937
Arnaud Charlet [Mon, 29 Oct 2012 11:32:18 +0000 (12:32 +0100)]
[multiple changes]
2012-10-29 Robert Dewar <dewar@adacore.com>
* sem_prag.adb: Minor reformatting.
2012-10-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor rewording.
2012-10-29 Javier Miranda <miranda@adacore.com>
* exp_disp.ads (Is_Expanded_Dispatching_Call): New subprogram.
* exp_disp.adb (Expand_Dispatching_Call): No action needed if the
call has been already expanded.
(Is_Expanded_Dispatching_Call): New subprogram.
* sem_disp.adb (Propagate_Tag): No action needed if the call
has been already expanded.
2012-10-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch9.adb (Create_Index_And_Data): Remove local
variable Index_Typ and its uses. The type of the index is now
System.Tasking.Entry_Index. Update all related comments.
* rtsfind.ads: Add RE_Entry_Index in tables RE_Id and RE_Unit_Table.
* s-taskin.adb (Number_Of_Entries): The return type is now Entry_Index.
* s-taskin.ads: The index type of Task_Entry_Names_Array is now
Entry_Index.
(Number_Of_Entries): The return type is now Entry_Index.
* s-tpoben.adb (Number_Of_Entries): The return type is now Entry_Index.
* s-tpoben.ads: The index type of Protected_Entry_Names_Array
is now Entry_Index.
(Number_Of_Entries): The return type is now Entry_Index.
2012-10-29 Pascal Obry <obry@adacore.com>
* gnat_ugn.texi: Add note about SEH setup on x86-windows.
2012-10-29 Eric Botcazou <ebotcazou@adacore.com>
* s-bignum.adb (Allocate_Bignum): Use the exact layout of
Bignum_Data for the overlay.
From-SVN: r192936
Thomas Quinot [Mon, 29 Oct 2012 11:21:57 +0000 (11:21 +0000)]
gnat_rm.texi, [...] (Sem_Prag.Analyze_Pragma): Handle new pragma Attribute_Definition.
2012-10-29 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_util.ads,
par-prag.adb, par-util.adb, snames.ads-tmpl (Sem_Prag.Analyze_Pragma):
Handle new pragma Attribute_Definition.
(Sem_Util.Bad_Attribute): New routine, moved here
from par-util, so that it can be used by the above.
(Par_Util.Signal_Bad_Attribute): Processing moved to
Sem_Util.Bad_Attribute.
From-SVN: r192935
Arnaud Charlet [Mon, 29 Oct 2012 11:19:30 +0000 (12:19 +0100)]
[multiple changes]
2012-10-29 Robert Dewar <dewar@adacore.com>
* s-tpoben.ads, s-taskin.ads, exp_ch3.adb: Minor reformatting.
2012-10-29 Yannick Moy <moy@adacore.com>
* sem_prag.adb, gnat1drv.adb, opt.ads: Rename S14_Extensions
into Formal_Extensions.
2012-10-29 Thomas Quinot <quinot@adacore.com>
* sem_attr.adb: Minor reformatting.
From-SVN: r192934
Arnaud Charlet [Mon, 29 Oct 2012 11:09:46 +0000 (12:09 +0100)]
[multiple changes]
2012-10-29 Tristan Gingold <gingold@adacore.com>
* gnat_rm.texi: Document implementation advice for Pragma
Partition_Elaboration_Policy.
2012-10-29 Yannick Moy <moy@adacore.com>
* s-bignum.adb (Div_Rem): Reference that Algorithm_D is from
the second edition of TAOCP from Knuth, since the algo changed
in the third edition. Also correct the definition of 'd' which
could overflow.
2012-10-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Build_Initialization_Call): Create static strings
which denote entry [family] names and associate them with the
object's Protection_Entries or ATCB.
(Build_Init_Statements):
Remove local variable Names. Do not generate the entry [family]
names inside the init proc because they are now static.
* exp_ch9.adb (Build_Entry_Names): Reimplemented. The strings
which denote entry [family] names are now generated statically
and associated with the concurrent object's Protection_Entries
or ATCB during initialization.
* exp_ch9.ads (Build_Entry_Names): Change subprogram profile
and associated comment on usage.
* rtsfind.ads: Add the following entries to tables RE_Id and
RE_Unit_Table:
RE_Protected_Entry_Names_Array RE_Task_Entry_Names_Array
RO_PE_Number_Of_Entries RO_PE_Set_Entry_Names
RO_ST_Number_Of_Entries RO_ST_Set_Entry_Names
Remove the following entries from tables RE_Id and RE_Unit_Table:
RO_PE_Set_Entry_Name RO_TS_Set_Entry_Name
* s-taskin.adb: Remove with clause for Ada.Unchecked_Deallocation.
(Free_Entry_Names_Array): Removed.
(Number_Of_Entries): New routine.
(Set_Entry_Names): New routine.
* s-taskin.ads: Rename type Entry_Names_Array to
Task_Entry_Names_Array. Rename type Entry_Names_Array_Access
to Task_Entry_Names_Access. Update the type of ACTB field
Entry_Names and add a comment on its protection status.
(Free_Entry_Names_Array): Removed.
(Number_Of_Entries): New routine.
(Set_Entry_Names): New routine.
* s-tassta.adb (Create_Task): Remove formal parameter
Build_Entry_Names. Do not allocate an array to hold the
string names of entries and families.
(Free_Entry_Names): Removed.
(Free_Task): Remove the call to Free_Entry_Names.
(Set_Entry_Name): Removed.
(Vulnerable_Free_Task): Remove the call to Free_Entry_Names.
* s-tassta.ads (Create_Task): Remove formal parameter
Build_Entry_Names along with associated comment.
(Set_Entry_Name): Removed.
* s-tpoben.adb: Remove with clause for Ada.Unchecked_Deallocation.
(Finalize): Remove the call to Free_Entry_Names.
(Free_Entry_Names): Removed.
(Initialize_Protection_Entries):
Remove formal parameter Build_Entry_Names. Do not allocate
an array to hold the string names of entries and families.
(Number_Of_Entries): New routine.
(Set_Entry_Name): Removed.
(Set_Entry_Names): New routine.
* s-tpoben.ads: Add types Protected_Entry_Names_Array and
Protected_Entry_Names_Access. Update the type of Protection_Enties
field Entry_Names.
(Initialize_Protection_Entries): Remove
formal parameter Build_Entry_Names along with associated comment.
(Number_Of_Entries): New routine.
(Set_Entry_Name): Removed.
(Set_Entry_Names): New routine.
2012-10-29 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Minor typo fix.
From-SVN: r192933