Jan Hubicka [Thu, 17 May 2012 09:22:02 +0000 (11:22 +0200)]
ipa-reference.c (is_proper_for_analysis): Do not check flags that might change as result of global optimization.
* ipa-reference.c (is_proper_for_analysis): Do not check flags
that might change as result of global optimization.
(analyze_function): Do not check analyzed and externally_visible
flags; be happy about address dereferences.
(propagate): Prune all_module_statics so it really contains just
statics; prune all the local summaries.
(ipa_reference_write_optimization_summary): Simplify.
From-SVN: r187626
Kwok Cheung Yeung [Thu, 17 May 2012 09:13:35 +0000 (09:13 +0000)]
m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm, 51qm.
* config/m68k/m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm,
51qm.
* config/m68k/m68k-tables.opt: Regenerated.
* doc/invoke.texi (M680x0 Options): Document.
From-SVN: r187625
Ian Lance Taylor [Thu, 17 May 2012 05:30:25 +0000 (05:30 +0000)]
runtime: Print stack trace on panic or signal.
From-SVN: r187623
Patrick Marlier [Thu, 17 May 2012 02:57:56 +0000 (02:57 +0000)]
[multiple changes]
2012-05-16 Dave Boutcher <daveboutcher@gmail.com>
Patrick Marlier <patrick.marlier@gmail.com>
* trans-mem.c (ipa_tm_transform_clone): Transform functions with
indirect calls.
testsuite/
2012-05-16 Patrick Marlier <patrick.marlier@gmail.com>
* gcc.dg/tm/indirect-2.c: New test.
From-SVN: r187621
GCC Administrator [Thu, 17 May 2012 00:17:42 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r187620
H.J. Lu [Wed, 16 May 2012 22:11:18 +0000 (22:11 +0000)]
Regenerate configure files for libtool.m4 change
boehm-gc/
* configure: Regenerated.
gcc/
* configure: Regenerated.
libatomic/
* configure: Regenerated.
libffi/
* configure: Regenerated.
libgfortran/
* configure: Regenerated.
libgomp/
* configure: Regenerated.
libitm/
* configure: Regenerated.
libjava/classpath/
* configure: Regenerated.
libjava/
* configure: Regenerated.
libmudflap/
* configure: Regenerated.
libobjc/
* configure: Regenerated.
libquadmath/
* configure: Regenerated.
libssp/
* configure: Regenerated.
libstdc++-v3/
* configure: Regenerated.
lto-plugin/
* configure: Regenerated.
zlib/
* configure: Regenerated.
From-SVN: r187616
Andrew Pinski [Wed, 16 May 2012 20:22:03 +0000 (20:22 +0000)]
gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under GIMPLE_ASSIGN.
2012-05-16 Andrew Pinski <apinski@cavium.com>
* gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
GIMPLE_ASSIGN.
From-SVN: r187608
David S. Miller [Wed, 16 May 2012 20:11:46 +0000 (20:11 +0000)]
Fix var tracking ICE due to reorg.
If during reorg we delete a code label, and as a result we decide to
delete all the code following that label, we hit this condition in
jump.c:delete_related_insns():
if (was_code_label && prev && BARRIER_P (prev))
which passes and then we proceed to delete insns until we hit a
non-deleted code label.
During this traversal, we can end up deleting a CALL, but in doing so
we will leave the var tracking note for the call arguments around.
Later in dwarf2_var_location() we will ICE, because we can't find the
CALL when we search backwards for it.
The note searching scheme in the fix below is cribbed from code in
try_split() which has to handle a similar problem.
gcc/
* jump.c (delete_related_insns): If we remove a CALL, make sure
we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
From-SVN: r187606
Tobias Burnus [Wed, 16 May 2012 18:39:34 +0000 (20:39 +0200)]
unix.c (tempfile_open): Pass mode to "open" for O_CREAT.
2012-05-16 Tobias Burnus <burnus@net-b.de>
* io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT.
From-SVN: r187604
Olivier Hainque [Wed, 16 May 2012 15:36:08 +0000 (15:36 +0000)]
Makefile.in (install-unwind_h): Rename into ...
libgcc/
* Makefile.in (install-unwind_h): Rename into ...
(install-unwind_h-forbuild): New target.
(all): Use it instead of the former install-unwind_h.
(install-unwind_h): Reinstate, copy to user install destination
for include files, not to the internal gcc object directory one.
(install-leaf): Depend on it.
From-SVN: r187599
Ian Lance Taylor [Wed, 16 May 2012 14:52:03 +0000 (14:52 +0000)]
log/syslog: Fix name of C function syslog_c.
From Rainer Orth.
From-SVN: r187596
Bill Schmidt [Wed, 16 May 2012 14:39:32 +0000 (14:39 +0000)]
re PR tree-optimization/53217 (internal compiler error: verify_ssa failed)
gcc:
2012-05-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/53217
* tree-ssa-reassoc.c (bip_map): New static variable.
(possibly_move_powi): Move feeding multiplies with __builtin_powi call.
(attempt_builtin_powi): Save feeding multiplies on a stack.
(reassociate_bb): Create and destroy bip_map.
gcc/testsuite:
2012-05-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/53217
* gfortran.dg/pr53217.f90: New test.
From-SVN: r187595
Olivier Hainque [Wed, 16 May 2012 13:37:14 +0000 (13:37 +0000)]
Makefile.tpl (gcc-no-fixedincludes): Rename into ...
toplevel/
* Makefile.tpl (gcc-no-fixedincludes): Rename into ...
(gcc-install-no-fixedincludes): Now forwarder to local target in gcc/
(install-no-fixedincludes): Adjust accordingly.
* Makefile.in: Regenerate.
gcc/
* Makefile.in (install-no-fixedincludes): New target, former toplevel
gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
Add comments and improve stamp preservation across the whole sequence.
(stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
From-SVN: r187594
Richard Guenther [Wed, 16 May 2012 13:36:07 +0000 (13:36 +0000)]
tree-inline.c (insert_init_stmt): Do not call mark_symbols_for_renaming.
2012-05-16 Richard Guenther <rguenther@suse.de>
* tree-inline.c (insert_init_stmt): Do not call
mark_symbols_for_renaming.
(setup_one_parameter): Avoid initializing unused parameters.
(declare_return_variable): Properly handle DECL_BY_REFERENCE
return vars in SSA form.
From-SVN: r187593
Richard Guenther [Wed, 16 May 2012 13:31:39 +0000 (13:31 +0000)]
tree-flow.h (get_virtual_var): Remove.
2012-05-16 Richard Guenther <rguenther@suse.de>
* tree-flow.h (get_virtual_var): Remove.
* tree-dfa.c (get_virtual_var): Likewise.
From-SVN: r187592
Richard Guenther [Wed, 16 May 2012 13:21:38 +0000 (13:21 +0000)]
tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Remove set-only bitmap of new names.
2012-05-16 Richard Guenther <rguenther@suse.de>
* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
Remove set-only bitmap of new names.
(slpeel_tree_peel_loop_to_edge): Likewise. Do not set
CFG hooks.
* tree-flow.h (ssa_names_to_replace): Remove.
* tree-into-ssa.c (ssa_names_to_replace): Likewise.
From-SVN: r187591
Richard Guenther [Wed, 16 May 2012 13:11:01 +0000 (13:11 +0000)]
re PR tree-optimization/53364 (Wrong code generation)
2012-05-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53364
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
detect a view-conversion of the decl.
* g++.dg/torture/pr53364.C: New testcase.
From-SVN: r187590
Georg-Johann Lay [Wed, 16 May 2012 12:46:36 +0000 (12:46 +0000)]
re PR testsuite/52641 (Test cases fail for 16-bit int targets)
PR testsuite/52641
* gcc.dg/pr52549.c: Fix test for long != void*
* gcc.c-torture/execute/pr52979-1.x: New file.
* gcc.c-torture/execute/pr52979-2.x: New file.
From-SVN: r187588
Dodji Seketeli [Wed, 16 May 2012 10:51:15 +0000 (10:51 +0000)]
PR preprocessor/7263 - Avoid pedantic warnings on system headers macro tokens
Now that we track token locations accross macro expansions, it would
be cool to be able to fix PR preprocessor/7263 for real. That is,
consider this example where we have a system header named header.h
like this:
#define _Complex __complex__ #define _Complex_I 1.0iF
and then a normal C file like this:
#include "header.h"
static _Complex float c = _Complex_I;
If we compile the file with -pedantic, the usages of _Complex or
_Complex_I should not trigger any warning, even though __complex__ and
the complex literal are extensions to the standard C.
They shouldn't trigger any warning because _Complex and _Complex_I are
defined in a system header (and expanded in normal user code).
To be able to handle this, we must address two separate concerns.
First, warnings about non-standard usage of numerical literals are emitted
directly from within libcpp. So we must teach libcpp's parser for numerical
literals to use virtual locations, instead of the spelling
location it uses today. Once we have that, as the diagnostics machinery
already knows how to avoid emitting errors happening on tokens that come from
system headers, we win.
Second, there is the issue of tracking locations for declaration
specifiers, like the "_Complex" in the declaration:
static _Complex float c;
For that, we need to arrange for each possible declaration specifier
to have its own location, because otherwise, we'd warn on e.g, on:
_Complex float c;
but not on:
static _Complex float c;
So this patch addresses the two concerns above. It's actually a
follow-up on an earlier patch[1] I wrote as part of my initial work on
virtual locations. We then agreed[2] that the second concern was
important to address before the patch could get a chance to go in.
[1]: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00957.html
[2]: http://gcc.gnu.org/ml/gcc-patches/2011-10/msg00264.html
Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.
libcpp/
PR preprocessor/7263
* include/cpplib.h (cpp_classify_number): Take a location
parameter.
* expr.c (SYNTAX_ERROR_AT, SYNTAX_ERROR2_AT): New diagnostic
macros that take a location parameter.
(cpp_classify_number): Take a (virtual) location parameter. Use
it for diagnostics. Adjust comments.
(eval_token): Take a location parameter. Pass it to
cpp_classify_number and to diagnostic routines.
(_cpp_parse_expr): Use virtual locations of tokens when parsing
expressions. Pass a virtual location to eval_token and to
diagnostic routines.
gcc/c-family/
PR preprocessor/7263
* c-lex.c (c_lex_with_flags): Pass a virtual location to the call
to cpp_classify_number. For diagnostics, use the precise location
instead of the global input_location.
gcc/
PR preprocessor/7263
* c-tree.h (enum c_declspec_word): Declare new enum.
(struct c_declspecs::locations): New member.
(declspecs_add_qual, declspecs_add_scspec)
(declspecs_add_addrspace, declspecs_add_alignas): Take a new
location parameter.
* c-decl.c (build_null_declspecs): Initialize the new struct
c_declspecs::locations member.
(declspecs_add_addrspace): Take a location parameter for the
address space. Store it onto declaration specifiers.
(declspecs_add_qual): Likewise, take a location parameter for the
qualifier.
(declspecs_add_type): Likewise, take a location parameter for the
type specifier.
(declspecs_add_scspec): Likewise, take a location parameter for
the storage class specifier.
(declspecs_add_attrs): Likewise, take a location parameter for the
first attribute.
(declspecs_add_alignas): Likewise, take a location parameter for
the alignas token.
(finish_declspecs): For diagnostics, use the location of the
relevant declspec, instead of the global input_location.
* c-parser.c (c_parser_parameter_declaration): Pass the precise
virtual location of the declspec to the declspecs-setters.
(c_parser_declspecs): Likewise. Avoid calling c_parser_peek_token
repeatedly.
gcc/cp/
PR preprocessor/7263
* cp-tree.h (enum cp_decl_spec): Add new enumerators to cover all
the possible declarator specifiers so far.
(struct cp_decl_specifier_seq::locations): Declare new member.
(cp_decl_specifier_seq::{specs, type_location}): Remove.
(decl_spec_seq_has_spec_p): Declare new function.
* parser.c (cp_parser_check_decl_spec): Remove.
(set_and_check_decl_spec_loc): Define new static function.
(decl_spec_seq_has_spec_p): Define new public function.
(cp_parser_decl_specifier_seq, cp_parser_function_specifier_opt)
(cp_parser_type_specifier, cp_parser_simple_type_specifier)
(cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
(cp_parser_alias_declaration): Set the locations for each
declspec, using set_and_check_decl_spec_loc.
(cp_parser_explicit_instantiation, cp_parser_init_declarator)
(cp_parser_member_declaration, cp_parser_init_declarator): Use the
new declspec location for specifiers. Use the new
decl_spec_seq_has_spec_p.
(cp_parser_type_specifier_seq): Use the new
set_and_check_decl_spec_loc. Stop using
cp_parser_check_decl_spec. Use the new decl_spec_seq_has_spec_p.
(, cp_parser_init_declarator): Use the new
set_and_check_decl_spec_loc.
(cp_parser_single_declaration, cp_parser_friend_p)
(cp_parser_objc_class_ivars, cp_parser_objc_struct_declaration):
Use the new decl_spec_seq_has_spec_p.
* decl.c (check_tag_decl): Use new decl_spec_seq_has_spec_p. Use
the more precise ds_redefined_builtin_type_spec location for
diagnostics about re-declaring C++ built-in types.
(start_decl, grokvardecl, grokdeclarator): Use the new
decl_spec_seq_has_spec_p.
gcc/testsuite/
PR preprocessor/7263
* gcc.dg/binary-constants-2.c: Run without tracking locations
accross macro expansion.
* gcc.dg/binary-constants-3.c: Likewise.
* gcc.dg/cpp/sysmac2.c: Likewise.
* testsuite/gcc.dg/nofixed-point-2.c: Adjust for more precise
location.
* gcc.dg/cpp/syshdr3.c: New test.
* gcc.dg/cpp/syshdr3.h: New header for the new test above.
* gcc.dg/system-binary-constants-1.c: New test.
* gcc.dg/system-binary-constants-1.h: New header for the new test
above.
* g++.dg/cpp/syshdr3.C: New test.
* g++.dg/cpp/syshdr3.h: New header the new test above.
* g++.dg/system-binary-constants-1.C: New test.
* g++.dg/system-binary-constants-1.h: New header the new test
above.
From-SVN: r187587
Igor Zamyatin [Wed, 16 May 2012 09:59:04 +0000 (09:59 +0000)]
configure.ac: Stack protector enabling for Android targets.
* configure.ac: Stack protector enabling for Android targets.
* configure: Regenerate.
From-SVN: r187586
Olivier Hainque [Wed, 16 May 2012 09:21:27 +0000 (09:21 +0000)]
e500-double.h: Really remove.
* config/rs6000/e500-double.h: Really remove.
From-SVN: r187585
Richard Sandiford [Wed, 16 May 2012 09:01:54 +0000 (09:01 +0000)]
ira.c (pseudo_move_insn): Delete.
gcc/
* ira.c (pseudo_move_insn): Delete.
(find_moveable_pseudos): Don't set it.
(move_unallocated_pseudos): Use DF_REG_DEF_CHAIN to find
the definitions of the original pseudo. Delete all of them.
From-SVN: r187582
Olivier Hainque [Wed, 16 May 2012 08:43:41 +0000 (08:43 +0000)]
rs6000-opts.h (enum processor_type): Add PROCESSOR_PPC8548.
* config/rs6000/rs6000-opts.h (enum processor_type): Add
PROCESSOR_PPC8548.
* config/rs6000/rs6000-cpus.def: Reference it for cpu="8548".
* config/rs6000/rs6000.md (cpu attribute definition): Add ppc8548.
* config/rs6000/8540.md: indicate that the units/patterns apply to
ppc8548 as well.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Rename
default_cpu into implicit_cpu, conveying what --with-cpu was passed at
configure time. Treat implicit_cpu as have_CPU. Pick defaults for SPE
related flags, check that what is queried is supported by the selected
configuration. Rework the single/double_float and MASK_STRING resets to
hit for all the E500 cores (854x + E500MC variants). Select the ppc8540
costs for PROCESSOR_PPC8548 as well.
(rs6000_issue_rate): case CPU_PPC8548 together with CPU_PPC8540.
(rs6000_use_sched_lookahead): Likewise, rewriting function as a case
statement instead of a sequence of ifs.
* config/rs6000/rs6000.h (TARGET_E500): Remove.
(TARGET_NO_LWSYNC): Adjust accordingly.
* config/rs6000/e500.h (TARGET_E500): Remove.
(CHECK_E500_OPTIONS): Adjust accordingly.
* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove.
(TARGET_DEFAULT): Reformat definition to match the one in linuxspe.h.
* config/rs6000/linuxspe.h: Likewise.
* config/rs6000/vxworks.h: Remove bogus TARGET_E500 overrides and
superfluous comments.
* config/rs6000/e500-double.h: Remove.
* config.gcc (pick a default with_cpu): For powerpc*-*-*spe*,
default to with_cpu=8548 if --enable-e500-double, and to 8540
otherwise.
(set misc flags section): For powerpc*|rs6000*, remove inclusion
of e500-double.h for --enable-e500-double.
From-SVN: r187581
Olivier Hainque [Wed, 16 May 2012 08:23:58 +0000 (08:23 +0000)]
Makefile.in (s-header-vars): Resort to -n instead of trailing -e d in sed invocation.
* Makefile.in (s-header-vars): Resort to -n instead of trailing
-e d in sed invocation.
From-SVN: r187580
Ian Lance Taylor [Wed, 16 May 2012 05:36:31 +0000 (05:36 +0000)]
debug/dwarf: Fix handling of LineSetFile.
From-SVN: r187578
Ian Lance Taylor [Wed, 16 May 2012 00:26:32 +0000 (00:26 +0000)]
compiler: Fix assembler names of types defined in functions.
From-SVN: r187574
GCC Administrator [Wed, 16 May 2012 00:17:41 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r187573
Hans-Peter Nilsson [Tue, 15 May 2012 23:43:51 +0000 (23:43 +0000)]
tm.texi.in (Type Layout): Update reference to source-code.
* doc/tm.texi.in (Type Layout) <SIZE_TYPE>: Update reference to
source-code.
* doc/tm.texi: Regenerate.
From-SVN: r187568
Ian Lance Taylor [Tue, 15 May 2012 22:54:28 +0000 (22:54 +0000)]
compiler: Fix taking address of constant outside of function.
From-SVN: r187565
Eric Botcazou [Tue, 15 May 2012 22:34:36 +0000 (22:34 +0000)]
Fix date
From-SVN: r187563
Andris Pavenis [Tue, 15 May 2012 22:33:58 +0000 (01:33 +0300)]
re PR ada/52494 (s-taprop-dummy.adb does not define subpackage Specific used in s-tpoaal.sdb)
PR ada/52494
* s-taprop-dummy.adb (Specific): New package.
From-SVN: r187562
Ian Lance Taylor [Tue, 15 May 2012 22:30:37 +0000 (22:30 +0000)]
compiler: Sort array constructors by index.
From-SVN: r187560
Paolo Carlini [Tue, 15 May 2012 22:19:08 +0000 (22:19 +0000)]
re PR c/11586 (after call sigaction, system() return wrong status)
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
* g++.old-deja/g++.pt/crash10.C: Adjust post PR11586.
From-SVN: r187559
Ian Lance Taylor [Tue, 15 May 2012 20:00:39 +0000 (20:00 +0000)]
compiler: Don't try to take the address of a constant.
From-SVN: r187553
Paolo Carlini [Tue, 15 May 2012 19:44:49 +0000 (19:44 +0000)]
tree.h (EXPR_LOCATION): Use CAN_HAVE_LOCATION_P.
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
* tree.h (EXPR_LOCATION): Use CAN_HAVE_LOCATION_P.
From-SVN: r187552
François Dumont [Tue, 15 May 2012 19:34:45 +0000 (19:34 +0000)]
Add name of the functions impacted by the patch.
From-SVN: r187551
Ian Lance Taylor [Tue, 15 May 2012 18:56:48 +0000 (18:56 +0000)]
runtime: Make all variables used across getcontext volatile.
From-SVN: r187549
H.J. Lu [Tue, 15 May 2012 16:07:28 +0000 (16:07 +0000)]
Add x32 support to libtool.m4
Merge upstream change
* libtool.m4 (_LT_ENABLE_LOCK): Support x32.
From-SVN: r187546
Jakub Jelinek [Tue, 15 May 2012 15:19:10 +0000 (17:19 +0200)]
re PR target/53358 (ICE due to TARGET_READ_MODIFY_WRITE peephole2)
PR target/53358
* config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
that operands[2] is either immediate, or q_regs_operand.
* gcc.dg/pr53358.c: New test.
From-SVN: r187544
Paolo Carlini [Tue, 15 May 2012 15:18:05 +0000 (15:18 +0000)]
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
* Fix PR number in ChangeLog entries (11586 -> 11856).
From-SVN: r187543
Paolo Carlini [Tue, 15 May 2012 15:14:49 +0000 (15:14 +0000)]
re PR c++/11856 (unsigned warning in template)
/cp
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/11586
* pt.c (tsubst_copy_and_build): Increase / decrease
c_inhibit_evaluation_warnings around build_x_binary_op call.
/c-family
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/11586
* c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
/testsuite
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/11586
* g++.dg/warn/Wtype-limits.C: Don't warn in templates.
* g++.dg/warn/Wtype-limits-Wextra.C: Likewise.
From-SVN: r187542
Olivier Hainque [Tue, 15 May 2012 14:03:04 +0000 (14:03 +0000)]
aix-unwind.h (*_REGNO): New, set of useful register numbers.
libgcc/
* config/rs6000/aix-unwind.h (*_REGNO): New, set of useful
register numbers. LR_REGNO replaces R_LR.
(ucontext_for): New, helper for ...
(ppc_aix_fallback_frame_state): New, implementation for aix 5.2
and 5.3 of ...
(MD_FALLBACK_FRAME_STATE_FOR): Define for 32bit configurations.
testsuite/
* g++.dg/eh/sighandle.C: New testcase.
From-SVN: r187540
Richard Guenther [Tue, 15 May 2012 13:49:19 +0000 (13:49 +0000)]
cgraphunit.c (thunk_adjust): Use make_rename_temp.
2012-05-15 Richard Guenther <rguenther@suse.de>
* cgraphunit.c (thunk_adjust): Use make_rename_temp.
(assemble_thunk): Likewise. Manually rename and register
function arguments.
From-SVN: r187538
Richard Guenther [Tue, 15 May 2012 13:18:32 +0000 (13:18 +0000)]
re PR tree-optimization/53355 (Autovectorization of a simple loop could be improved.)
2012-05-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53355
* tree-vrp.c (extract_range_from_binary_expr_1): Handle LSHIFT_EXPRs
by constants.
* gcc.dg/tree-ssa/vrp67.c: New testcase.
From-SVN: r187535
Olivier Hainque [Tue, 15 May 2012 12:20:03 +0000 (12:20 +0000)]
Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS instead of trying to mimic it.
2012-05-15 Olivier Hainque <hainque@adacore.com>
* gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS
instead of trying to mimic it.
From-SVN: r187533
Arnaud Charlet [Tue, 15 May 2012 12:16:20 +0000 (14:16 +0200)]
[multiple changes]
2012-05-15 Robert Dewar <dewar@adacore.com>
* sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor
reformatting.
2012-05-15 Geert Bosch <bosch@adacore.com>
* uintp.adb (UI_Rem): Remove optimizations, as they are complex and are
not needed.
(Sum_Digits): Remove, no longer used.
(Sum_Double_Digits): Likewise.
2012-05-15 Yannick Moy <moy@adacore.com>
* aspects.ads: Minor typo.
2012-05-15 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi (Scalar_Storage_Order): Fix RM reference.
* sem_ch13.adb: Minor comment fix: incorrect RM reference.
2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
* sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
atomicity from an object to its underlying type only if it
is composite.
From-SVN: r187532
Ed Schonberg [Tue, 15 May 2012 12:11:10 +0000 (12:11 +0000)]
sem_ch5.adb (Analyze_Iterator_Specification): Set kind of loop variable after pre-analysis of iterator name...
2012-05-15 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Iterator_Specification): Set kind of
loop variable after pre-analysis of iterator name, to prevent
premature usage of loop variable.
2012-05-15 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Is_Variable): In Ada 2012, an explicit
dereference that is a rewriting of an expression whose type has
a declared Implicit_Derenference aspect is a variable.
From-SVN: r187531
Hristian Kirtchev [Tue, 15 May 2012 12:09:44 +0000 (12:09 +0000)]
exp_ch4.adb (Insert_Dereference_Action): Reimplemented.
2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The
routine performs address and size adjustments for dereferences
of heap-allocated controlled objects. This manipulation is needed
in order to restore the original state of the memory at the time
it was allocated by the finalization machinery.
* rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables
RE_Id and RE_Unit_Table.
* sinfo.adb (Has_Dereference_Action): New routine.
(Set_Has_Dereference_Action): New routine.
* sinfo.ads: Add new semantic flag Has_Dereference_Action along
its association in nodes.
(Has_Dereference_Action): New routine and pragma Inline.
(Set_Has_Dereference_Action): New routine and pragma Inline.
* s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New
routine.
From-SVN: r187530
Arnaud Charlet [Tue, 15 May 2012 12:06:55 +0000 (14:06 +0200)]
[multiple changes]
2012-05-15 Thomas Quinot <quinot@adacore.com>
* uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and
remainder of U / Base in a single operation.
2012-05-15 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb,
a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb,
vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting.
From-SVN: r187529
Arnaud Charlet [Tue, 15 May 2012 12:04:02 +0000 (14:04 +0200)]
[multiple changes]
2012-05-15 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Has_Inferable_Discriminants): For a qualified
expression, use correct node for test on the subtype denoted by
the subtype mark.
2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
* inline.adb (Scope_In_Main_Unit): Rename into...
(In_Main_Unit_Or_Subunit): ...this. Also return
true if the subprogram is within a subunit of the
main unit.
(Add_Inlined_Body): Adjust for above renaming.
(Add_Inlined_Subprogram): Likewise. Pass the subprogram directly.
(Analyze_Inlined_Bodies): Really set aside inlined subprograms
not handled by Add_Inlined_Body.
From-SVN: r187528
Arnaud Charlet [Tue, 15 May 2012 11:07:26 +0000 (13:07 +0200)]
[multiple changes]
2012-05-15 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Expand_With_Clause): In the context of a generic
package declaration, a private with-clause on a child unit implies
that the implicit with clauses on its parents are private as well.
2012-05-15 Javier Miranda <miranda@adacore.com>
* sem_ch6.adb (Is_Interface_Conformant): Add missing call to
Base_Type to handle subtypes.
* exp_ch6.adb (Expand_Call): For calls located in thunks handle
unchecked conversions of access types found in actuals.
* exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked
conversion to actuals whose type is an access type. Done to
avoid reporting spurious errors.
2012-05-15 Vincent Celier <celier@adacore.com>
* prj-env.adb (Create_Mapping): Ignore sources that are
suppressed (Create_Mapping_File.Process): Ditto
* prj-nmsc.adb (Add_Source): Update to take into
account suppressed files that may hide inherited sources.
(Mark_Excluded_Sources): Mark excluded sources of the current
project as suppressed.
* prj.ads (Source_Data): New Boolean component Suppressed,
defaulted to False
2012-05-15 Thomas Quinot <quinot@adacore.com>
* exp_intr.adb: Minor reformatting.
2012-05-15 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi: Document attribute Scalar_Storage_Order.
2012-05-15 Javier Miranda <miranda@adacore.com>
* exp_ch3.adb (Build_Offset_To_Top): Modify the
expansion of the offset_to_top functions to ensure that their
profile is conformant with the profile specified in Ada.Tags. No
change in functionality.
2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
* inline.adb (Subp_Info): Remove Count and Next_Nopred
components, add Processed component and move around Next component.
(Add_Call): Reverse meaning of Successors table to the natural one.
(Add_Inlined_Body): Do not inline a package if it is in the main unit.
(Add_Inlined_Subprogram): Do not add the subprogram to the list if the
package is in the main unit. Do not recurse on the successors.
(Add_Subp): Adjust to new contents of Subp_Info.
(Analyze_Inlined_Bodies): Do not attempt
to compute a topological order on the list of inlined subprograms,
but compute the transitive closure from the main unit instead.
(Get_Code_Unit_Entity): Always return the spec for a package.
From-SVN: r187526
Arnaud Charlet [Tue, 15 May 2012 11:02:25 +0000 (13:02 +0200)]
[multiple changes]
2012-05-15 Yannick Moy <moy@adacore.com>
* aspects.ads: Minor addition of comments to provide info on
how to add new aspects.
2012-05-15 Thomas Quinot <quinot@adacore.com>
* osint.ads: Minor reformatting.
2012-05-15 Thomas Quinot <quinot@adacore.com>
* exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads
(Expand_Assign_Array): Handle the case of a packed bit array within a
record with reverse storage order (assign element by element in that
case).
(In_Reverse_Storage_Order_Record): New subprogram,
code extracted from Exp_Pakd.
2012-05-15 Yannick Moy <moy@adacore.com>
* a-ngelfu.ads: Add postconditions using Ada 2012
aspect syntax, reflecting some of the RM requirements for these
functions, from Annex A.5.1 or G.2.4.
2012-05-15 Thomas Quinot <quinot@adacore.com>
* adaint.c: Minor fix: move misplaced comment.
2012-05-15 Doug Rupp <rupp@adacore.com>
* vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage
use by customers.
From-SVN: r187525
Arnaud Charlet [Tue, 15 May 2012 10:54:04 +0000 (12:54 +0200)]
gnat1drv.adb: Enable Exception_Extra_Info in CodePeer_Mode.
2012-05-15 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb: Enable Exception_Extra_Info in CodePeer_Mode.
2012-05-15 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi (Complexity Metrics Control section): Fix
reference to McCabe's book defining complexity metrics.
From-SVN: r187524
Arnaud Charlet [Tue, 15 May 2012 10:52:24 +0000 (12:52 +0200)]
[multiple changes]
2012-05-15 Tristan Gingold <gingold@adacore.com>
* a-exextr.adb: Add comment.
2012-05-15 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: Minor reformatting (remove long dead code).
2012-05-15 Ed Schonberg <schonberg@adacore.com>
* aspects.adb, aspects.ads: Add aspects for Convention, Export,
External_Name, Import, and Link_Name.
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the
pragma comes from an aspect specification, the entity is the
first argument.
* sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
Pragma_Import): if the pragma comes from an aspect specification,
the entity is the first argument, and the second has the value
True by default.
* sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam
for aspect Convention. Add placeholders for Link_Name and
External_Name.
From-SVN: r187523
Bernd Schmidt [Tue, 15 May 2012 10:51:02 +0000 (10:51 +0000)]
Fix up changelogs.
From-SVN: r187522
Bernhard Reutner-Fischer [Tue, 15 May 2012 10:42:32 +0000 (12:42 +0200)]
Remove now redundant manual cleanup-modules directive.
2012-05-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* gfortran.dg/*.f90: Remove now redundant manual
cleanup-modules directive.
From-SVN: r187521
Arnaud Charlet [Tue, 15 May 2012 10:41:15 +0000 (12:41 +0200)]
[multiple changes]
2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements
of the abortable part and triggering alternative after being processed
for controlled objects.
(Expand_N_Timed_Entry_Call): Code and comment reformatting.
2012-05-15 Robert Dewar <dewar@adacore.com>
* sem_util.adb: Minor code reorganization.
From-SVN: r187520
Arnaud Charlet [Tue, 15 May 2012 10:22:07 +0000 (12:22 +0200)]
[multiple changes]
2012-05-15 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting.
2012-05-15 Thomas Quinot <quinot@adacore.com>
* sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for
'Unrestricted_Access and 'Unchecked_Access (not just 'Access):
even in those cases, a remote access type may only designate a
remote subprogram.
2012-05-15 Thomas Quinot <quinot@adacore.com>
* sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring.
(Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node.
2012-05-15 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete
checks on nested inlined subprograms.
2012-05-15 Tristan Gingold <gingold@adacore.com>
* fe.h (Get_RT_Exception_Name): Declare.
2012-05-15 Tristan Gingold <gingold@adacore.com>
* raise-gcc.c (db_region_for): Use %p + cast to avoid warnings.
(get_region_description_for): Likewise.
(db_action_for): Likewise.
(get_call_site_action_for): Likewise.
(get_ttype_entry_for): Remove useless 'const'.
(PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class.
2012-05-15 Tristan Gingold <gingold@adacore.com>
* a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence
on the stack to avoid a dynamic memory allocation.
2012-05-15 Bob Duff <duff@adacore.com>
* exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of
E_Stats and D_Stats after Process_Statements_For_Controlled_Objects,
because those calls can destroy the Statements list.
From-SVN: r187518
Tristan Gingold [Tue, 15 May 2012 10:17:26 +0000 (10:17 +0000)]
fe.h (Get_RT_Exception_Name): Define.
2012-05-15 Tristan Gingold <gingold@adacore.com>
* fe.h (Get_RT_Exception_Name): Define.
* types.ads (RT_Exception_Code): Update comment.
* exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New
procedure to get the name of the rcheck subprograms.
* a-except-2005.adb (Rcheck_xx): Rename.
* a-except.adb Likewise, but also keep the old Rcheck_nn routines
for bootstrap.
* arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check
instead of __gnat_rcheck_10.
* gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name
to create the __gnat_rcheck routines name.
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r187517
Paolo Carlini [Tue, 15 May 2012 10:03:00 +0000 (10:03 +0000)]
cons_overflow_neg.cc: Revert unintended commit.
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Revert
unintended commit.
From-SVN: r187516
Paolo Carlini [Tue, 15 May 2012 10:00:19 +0000 (10:00 +0000)]
re PR libstdc++/53339 (unordered_map::iterator requires Value to be complete type)
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53339
* include/bits/hashtable_policy.h (__detail::_Identity,
__detail::_Select1st): Add.
(_Map_base, _Hashtable_base): Use the latter, adjust parameters.
* include/bits/hashtable.h (_Hashtable::__key_extract): Adjust.
* include/bits/unordered_set.h (__uset_hashtable, __umset_hashtable):
Likewise.
* include/bits/unordered_map.h (__umap_hashtable, __ummap_hashtable):
Likewise.
* include/bits/stl_function.h (_Identity, _Select1st, _Select2nd)
Unconditionally derive from unary_function.
* include/ext/functional (identity, select1st, select2nd): Remove
#ifdef __GXX_EXPERIMENTAL_CXX0X__ bits.
* testsuite/23_containers/unordered_map/requirements/53339.cc: New.
* testsuite/23_containers/unordered_multimap/requirements/
53339.cc: Likewise.
From-SVN: r187515
Arnaud Charlet [Tue, 15 May 2012 09:48:58 +0000 (11:48 +0200)]
[multiple changes]
2012-05-15 Tristan Gingold <gingold@adacore.com>
* exp_ch7.adb (Build_Exception_Handler): Save current
occurrence only if -gnateE.
(Build_Object_Declaration): Declare E_Id only if -gnateE.
(Build_Raise_Statement): Call Raise_From_Controlled_Operation only if
-gnateE (else raise PE).
* s-soflin.adb (Save_Library_Occurrence): Handle null occurrence
access.
* a-except-2005.adb (Reraise_Library_Exception_If_Any): Call
Raise_From_Controlled_Operation only if the saved occurrence is
not null, otherwise raise PE.
2012-05-15 Yannick Moy <moy@adacore.com>
* exp_alfa.ads: Add comments describing the Alfa mode.
From-SVN: r187514
Arnaud Charlet [Tue, 15 May 2012 09:46:19 +0000 (11:46 +0200)]
[multiple changes]
2012-05-15 Tristan Gingold <gingold@adacore.com>
* s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter
E is now of type Exception_Occurrence_Access.
* exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated
call to Save_Library_Occurrence.
2012-05-15 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to
insert temporary variable decl at the proper place in the tree.
From-SVN: r187513
Arnaud Charlet [Tue, 15 May 2012 09:44:53 +0000 (11:44 +0200)]
[multiple changes]
2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
* g-calend.adb (Split_At_Locale): New routine.
(Time_Of_At_Locale): New routine.
* g-calend.ads (Split_At_Locale): New routine.
(Time_Of_At_Locale): New routine.
2012-05-15 Gary Dismukes <dismukes@adacore.com>
* a-except.ads: Minor reformatting.
2012-05-15 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop
parameter specification is part of a quantified expression, and it
already carries a type, do not repeat the analysis to preserve
type information: a range attribute reference may have been
rewritten as a range with static bounds, and its re-analysis may
type it as Integer by default, instead of the original index type.
2012-05-15 Robert Dewar <dewar@adacore.com>
* s-osprim-mingw.adb: Minor reformatting.
From-SVN: r187512
Arnaud Charlet [Tue, 15 May 2012 09:42:01 +0000 (09:42 +0000)]
a-except.adb, [...] (Reraise_Library_Exception_If_Any): New.
2012-05-15 Arnaud Charlet <charlet@adacore.com>
* a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New.
Mark this unit preelaborate.
* s-soflin.ads: Make package Preelaborate.
From-SVN: r187511
Robert Dewar [Tue, 15 May 2012 09:40:25 +0000 (09:40 +0000)]
s-osprim-mingw.adb, [...]: Minor reformatting
2012-05-15 Robert Dewar <dewar@adacore.com>
* s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting
From-SVN: r187510
Arnaud Charlet [Tue, 15 May 2012 09:37:57 +0000 (11:37 +0200)]
[multiple changes]
2012-05-15 Ed Schonberg <schonberg@adacore.com>
* sem_eval.adb (Subtypes_Statically_Match): In Ada 2012, static
matching requires matching of static subtype predicates as well.
2012-05-15 Ed Schonberg <schonberg@adacore.com>
* sem_case.adb (Analyze_Choices): If the subtype of the
expression has a non-static predicate, the case alternatives
must cover the base type.
2012-05-15 Tristan Gingold <gingold@adacore.com>
* a-calend-vms.ads: Add pragma export to Split and Time_Of.
Merge comments from a-calend.ads to minimize differences.
2012-05-15 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi: gnatmetric: add a small example that demonstrates
the difference between control coupling and unit coupling.
2012-05-15 Tristan Gingold <gingold@adacore.com>
* bindgen.adb (Gen_Header): Remove code to emit LE_Set.
(Gen_Finalize_Library): Replace test with
a call to __gnat_reraise_library_exception_if_any.
* s-soflin.ads (Library_Exception): Do not export.
(Library_Exception_Set): Likewise.
* a-except-2005.ads, a-except-2005.adb
(Reraise_Library_Exception_If_Any): New procedure.
From-SVN: r187509
Arnaud Charlet [Tue, 15 May 2012 09:34:10 +0000 (11:34 +0200)]
[multiple changes]
2012-05-15 Geert Bosch <bosch@adacore.com>
* sem_ch9.adb (Allows_Lock_Free_Implementation): out or in out
parameters can be access types as well, not just scalar types,
so relax the test to Is_Elementary_Type.
2012-05-15 Bob Duff <duff@adacore.com>
* s-atacco.ads s-atacco.adb: Replace pragma Elaborate_Body
with pragma No_Body.
(Xyz): Remove Xyz, which is apparently unnecessary.
2012-05-15 Tristan Gingold <gingold@adacore.com>
* a-calend-vms.adb: Complete previous change.
2012-05-15 Bob Duff <duff@adacore.com>
* s-win32.ads: Minor comment fix.
* s-osprim-mingw.adb: Minor editing.
From-SVN: r187508
Tristan Gingold [Tue, 15 May 2012 09:31:45 +0000 (09:31 +0000)]
tree-ssa-strlen.c (get_string_length): Convert lhs if needed.
2012-05-15 Tristan Gingold <gingold@adacore.com>
* tree-ssa-strlen.c (get_string_length): Convert lhs if needed.
From-SVN: r187507
Robert Dewar [Tue, 15 May 2012 09:31:25 +0000 (09:31 +0000)]
exp_ch9.adb, [...]: Minor reformatting.
2012-05-15 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb, sem_ch9.adb, sem_ch13.adb: Minor reformatting.
From-SVN: r187506
Arnaud Charlet [Tue, 15 May 2012 09:29:46 +0000 (11:29 +0200)]
[multiple changes]
2012-05-15 Robert Dewar <dewar@adacore.com>
* g-comlin.adb, g-comlin.ads: Minor reformatting.
2012-05-15 Vincent Pucci <pucci@adacore.com>
* aspects.adb, aspects.adb: Reordering of the Aspect_Idi list. New
aspect Aspect_Lock_Free.
* einfo.adb, einfo.ads: New flag Uses_Lock_Free (flag 188).
(Set_Uses_Lock_Free): New routine.
(Uses_Lock_Free): New routine.
* exp_ch7.adb (Is_Simple_Protected_Type): Return False for
lock-free implementation.
* exp_ch9.adb (Allows_Lock_Free_Implementation): Moved to Sem_Ch9.
(Build_Lock_Free_Unprotected_Subprogram_Body): Protected
procedure uses __sync_synchronise. Check both Object_Size
and Value_Size.
(Expand_N_Protected_Body): Lock_Free_Active
renames Lock_Free_On.
(Expand_N_Protected_Type_Declaration):
_Object field removed for lock-free implementation.
(Install_Private_Data_Declarations): Protection object removed
for lock-free implementation.
(Make_Initialize_Protection):
Protection object initialization removed for lock-free implementation.
* rtsfind.ads: RE_Atomic_Synchronize and RE_Relaxed added.
* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Lock_Free
analysis added.
* sem_ch9.adb (Allows_Lock_Free_Implementation): New routine.
(Analyze_Protected_Body): Allows_Lock_Free_Implementation call added.
(Analyze_Protected_Type_Declaration):
Allows_Lock_Free_Implementation call added.
(Analyze_Single_Protected_Declaration): Second analysis of
aspects removed.
* s-atopri.ads: Header added.
(Atomic_Synchronize): New routine.
2012-05-15 Robert Dewar <dewar@adacore.com>
* exp_ch7.ads: Add comment.
From-SVN: r187505
Arnaud Charlet [Tue, 15 May 2012 09:26:48 +0000 (11:26 +0200)]
[multiple changes]
2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
* a-calend.adb (Day_Of_Week): The routine once again treats
all dates as historic. (Formatting_Operations.Split): All
calls to UTC_Time_Offset are now controlled through formal
parameter Is_Historic. (Formatting_Operations.Time_Of):
All calls to UTC_Time_Offset are now handled through
formal parameter Is_Historic.
(Split): Update the call to Formatting_Operations.Split.
(Time_Of): Update the call to Formatting_Operations.Time_Of.
(To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
(To_Strict_Tm): Update the call to Formatting_Operations.Split.
* a-calend.ads (Split): Add new formal Is_Historic along with
comment on usage. This routine is now exported for the purposes
of GNAT.Calendar.Locale.
(Time_Of): Remove defaults. Add new
formal Is_Historic along with comment on usage. This routine is
now exported for the purposes of GNAT.Calendar.Locale.
* a-calend-vms.adb (Split): Update the call to
Formatting_Operations.Split.
(Time_Of): Update the call to Formatting_Operations.Time_Of.
* a-calend-vms.ads (Split): Add new formal Is_Historic along
with comment on usage. (Time_Of): Remove defaults. Add new
formal Is_Historic along with comment on usage.
* a-calfor.adb (Split): Update the call to
Formatting_Operations.Split.
(Time_Of): Update the call to Formatting_Operations.Time_Of.
* impunit.adb: Include g-calloc to the list of non-RM defined
units.
2012-05-15 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Add_Source): Always add the source if it is
excluded, to avoid incorrect duplicate checks.
2012-05-15 Yannick Moy <moy@adacore.com>
* sem_aux.ads: Correct typo.
* sem_eval.adb (Compile_Time_Known_Value): Return False in Alfa
mode for a deferred constant when outside of the scope of its
full view.
2012-05-15 Emmanuel Briot <briot@adacore.com>
* g-comlin.adb, g-comlin.ads (Define_Switch): Allow specifying the name
of the argument, for the automatic help message.
(Getopt): do not systematically initialize switches with string values
to the empty string, when the user has already specified a default.
From-SVN: r187504
Richard Guenther [Tue, 15 May 2012 09:20:37 +0000 (09:20 +0000)]
gimple.c (gimple_set_modified): Move ...
2012-05-15 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_set_modified): Move ...
* gimple.h (gimple_set_modified): ... here.
From-SVN: r187503
Tristan Gingold [Tue, 15 May 2012 07:57:57 +0000 (07:57 +0000)]
ira-color.c (move_spill_restore): Add a guard.
2012-05-15 Tristan Gingold <gingold@adacore.com>
* ira-color.c (move_spill_restore): Add a guard.
From-SVN: r187500
Tristan Gingold [Tue, 15 May 2012 07:41:00 +0000 (07:41 +0000)]
ia64.c (ia64_emit_probe_stack_range): Adjust calls to plus_constant.
* config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust calls to
plus_constant.
From-SVN: r187499
Eric Botcazou [Tue, 15 May 2012 07:21:37 +0000 (07:21 +0000)]
gimplify.c (gimplify_init_constructor): Do a block move for very small objects as well.
* gimplify.c (gimplify_init_constructor): Do a block move for very
small objects as well.
From-SVN: r187498
Bernd Schmidt [Tue, 15 May 2012 02:03:01 +0000 (02:03 +0000)]
ira.c (find_moveable_pseudos): Skip registers whose DF_REG_EQ_USE_COUNT is nonzero.
* ira.c (find_moveable_pseudos): Skip registers whose
DF_REG_EQ_USE_COUNT is nonzero.
From-SVN: r187495
Kenneth Zadeck [Tue, 15 May 2012 01:18:22 +0000 (01:18 +0000)]
md.texi (fma): Define to only be applicable for single rounding.
2012-05-15 Kenneth Zadeck <zadeck@naturalbridge.com>
* doc/md.texi (fma): Define to only be applicable for single
rounding.
From-SVN: r187494
GCC Administrator [Tue, 15 May 2012 00:17:50 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r187493
Ian Lance Taylor [Mon, 14 May 2012 22:08:42 +0000 (22:08 +0000)]
libgo: Use -fgo-pkgpath.
From-SVN: r187485
Uros Bizjak [Mon, 14 May 2012 21:28:07 +0000 (23:28 +0200)]
re PR target/46098 (ICE: in extract_insn, at recog.c:2100 with -msse3 -ffloat-store and __builtin_ia32_loadupd())
PR target/46098
* config/i386/i386.c (ix86_expand_special_args_builtin): Always
generate target register for "load" class builtins.
Revert:
2010-10-22 Uros Bizjak <ubizjak@gmail.com>
PR target/46098
* config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
(avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
(*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
(<sse>_movu<ssemodesuffix>): New expander.
(*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
(avx_movdqu<avxmodesuffix>): New expander.
(*sse2_movdqu): Rename from sse2_movdqu.
(sse2_movdqu): New expander.
testsuite/ChangeLog:
* gcc.target/i386/avx256-unaligned-load-[1234].c: Update scan strings.
* gcc.target/i386/avx256-unaligned-store-[1234].c: Ditto.
From-SVN: r187481
Marc Glisse [Mon, 14 May 2012 20:28:00 +0000 (22:28 +0200)]
MAINTAINERS (Write After Approval): Add myself.
2012-05-14 Marc Glisse <marc.glisse@inria.fr>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r187480
Marc Glisse [Mon, 14 May 2012 20:19:30 +0000 (22:19 +0200)]
re PR target/52607 (v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2})
2012-05-14 Marc Glisse <marc.glisse@inria.fr>
PR target/52607
* config/i386/i386.c (ix86_expand_vec_perm_const): Move code to ...
(canonicalize_perm): ... new function.
(expand_vec_perm_2vperm2f128_vshuf): New function.
(ix86_expand_vec_perm_const_1): Call it.
From-SVN: r187479
Janne Blomqvist [Mon, 14 May 2012 19:39:23 +0000 (22:39 +0300)]
PR 52428 Range checking when reading integer values.
gcc/fortran ChangeLog:
2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/52428
* gfortran.texi: Update _gfortran_set_options documentation.
* invoke.texi: Remove runtime behavior description of
-fno-range-check.
* trans-decl.c (create_main_function): Don't pass the range-check
setting to the library.
libgfortran ChangeLog:
2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/52428
* io/io.h (max_value): Rename to si_max, remove second argument.
* io/list_read.c (convert_integer): Use unsigned types when
parsing the digits, set max value depending on the sign.
* io/read.c (max_value): Rename to si_max, remove second argument,
simplify.
(read_decimal): Set max value depending on sign, always check
overflow.
(read_radix): Calculate max unsigned value directly.
* libgfortran.h (struct compile_options_t): Remove range_check
field.
* runtime/compile_options.c (set_options): Skip handling
options[7].
(init_compile_options): Don't set removed field.
gcc/testsuite ChangeLog:
2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/52428
* gfortran.dg/int_range_io_1.f90: New test.
From-SVN: r187478
Jakub Jelinek [Mon, 14 May 2012 18:47:05 +0000 (20:47 +0200)]
[multiple changes]
2012-05-14 Andrew Pinski <apinski@cavium.com>
H.J. Lu <hongjiu.lu@intel.com>
Jakub Jelinek <jakub@redhat.com>
PR target/53315
* config/i386/i386.md (xbegin_1): Use + in constraint and
match_dup.
(xbegin): Updated.
2012-05-14 Andi Kleen <ak@linux.intel.com>
Jakub Jelinek <jakub@redhat.com>
PR target/53315
* gcc.target/i386/i386.exp (check_effective_target_rtm): New.
* gcc.target/i386/rtm-check.h: New file.
* gcc.target/i386/pr53315.c: New test.
From-SVN: r187477
Jakub Jelinek [Mon, 14 May 2012 17:07:41 +0000 (19:07 +0200)]
dwarf2out.c (dwarf2out_define, [...]): Treat lineno 1 the same as lineno 0 before first start file directive.
* dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
lineno 1 the same as lineno 0 before first start file directive.
(optimize_macinfo_range): Likewise.
From-SVN: r187475
Jakub Jelinek [Mon, 14 May 2012 17:06:19 +0000 (19:06 +0200)]
dwarf2out.c (have_macinfo): Define.
* dwarf2out.c (have_macinfo): Define.
(dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
attribute, don't force empty compilation unit and don't emit any
.debug_macinfo/.debug_macro section if macinfo_table is empty.
From-SVN: r187473
Tobias Burnus [Mon, 14 May 2012 16:45:16 +0000 (18:45 +0200)]
re PR fortran/49110 (Deferred-length character result triggers (false positive) error for pure procedures)
2012-05-14 Tobias Burnus <burnus@net-b.de>
PR fortran/49110
PR fortran/51055
PR fortran/53329
* trans-expr.c (gfc_trans_assignment_1): Fix allocation
handling for assignment of function results to allocatable
deferred-length strings.
* trans-decl.c (gfc_create_string_length): For deferred-length
module variables, include module name in the assembler name.
(gfc_get_symbol_decl): Don't override the assembler name.
2012-05-14 Tobias Burnus <burnus@net-b.de>
PR fortran/49110
PR fortran/51055
PR fortran/53329
* gfortran.dg/deferred_type_param_4.f90: New.
* gfortran.dg/deferred_type_param_6.f90: New.
From-SVN: r187472
Georg-Johann Lay [Mon, 14 May 2012 15:47:52 +0000 (15:47 +0000)]
re PR target/53344 (Dont' emit an assembler warning when assembling 3-byte symbols)
PR target/53344
* config/avr/avr.c (avr_const_address_lo16): Remove.
(avr_assemble_integer): Print ".byte lo8(x)",
".byte hi8(x)", ".byte hh8(x)" instead of emit an assembler
.warning if 3-byte address is assembled.
* doc/extend.texi (AVR Named Address Spaces): Document that
binutils 2.23 is needed to assemble 3-byte addresses.
From-SVN: r187470
Richard Guenther [Mon, 14 May 2012 15:06:40 +0000 (15:06 +0000)]
tree-vect-data-refs.c (vect_setup_realignment): Remove call to mark_symbols_for_renaming.
2012-05-14 Richard Guenther <rguenther@suse.de>
* tree-vect-data-refs.c (vect_setup_realignment): Remove
call to mark_symbols_for_renaming.
(vect_permute_load_chain): Likewise.
* tree-vect-loop.c (vect_is_slp_reduction): Update stmt
instead of calling mark_symbols_for_renaming.
* tree-vect-stmts.c (read_vector_array): Remove call to
mark_symbols_for_renaming.
(write_vector_array): Likewise.
(vectorizable_call): Likewise.
(vectorizable_store): Likewise.
(vectorizable_load): Likewise.
* matrix-reorg.c (transform_allocation_sites): Likewise.
* tree-ssa-pre.c (create_expression_by_pieces): Likewise.
(create_expression_by_pieces): Likewise.
From-SVN: r187469
Richard Guenther [Mon, 14 May 2012 15:05:21 +0000 (15:05 +0000)]
gimplify.c (gimple_regimplify_operands): Only mark the LHS of statements for renaming.
2012-05-14 Richard Guenther <rguenther@suse.de>
* gimplify.c (gimple_regimplify_operands): Only mark the LHS
of statements for renaming.
(force_gimple_operand_1): Likewise, consistently for both
calls to force_gimple_operand and force_gimple_operand_gsi.
From-SVN: r187468
Richard Guenther [Mon, 14 May 2012 15:04:39 +0000 (15:04 +0000)]
tree-dfa.c (make_rename_temp): Be forgiving if not in SSA form.
2012-05-14 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (make_rename_temp): Be forgiving if not in SSA form.
* omp-low.c (expand_omp_taskreg): Properly conditionalize call
to update_ssa.
(expand_omp_for): Likewise.
(expand_omp_for_generic): Adjust conditional add to referenced vars.
Use make_rename_temp for temporaries that should be rewritten into
SSA form.
(expand_omp_for_static_nochunk): Likewise.
(expand_omp_atomic_pipeline): Likewise.
From-SVN: r187467
Richard Guenther [Mon, 14 May 2012 15:01:22 +0000 (15:01 +0000)]
re PR bootstrap/53331 (AIX bootstrap failure in tree-vect-data-ref compiling matmul_i4)
2012-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53331
* tree-vect-data-refs.c (vect_verify_datarefs_alignment): Ignore
strided loads.
* tree-vect-stmts.c (vect_model_load_cost): Handle strided loads.
From-SVN: r187466
Manuel López-Ibáñez [Mon, 14 May 2012 13:30:32 +0000 (13:30 +0000)]
re PR c/53063 (encode group options in the .opt files)
2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 53063
c-family/
* c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
Wreorder): Use LangEnabledBy.
* c-opts.c (c_common_handle_option): Do not enable them
explicitly. Call lang-specific generated functions.
(c_common_post_options): Do not set them here.
gcc/
* doc/options.texi: (LangEnabledBy): Document it.
* optc-gen.awk: Handle LangEnabledBy.
* opth-gen.awk: Generate declaration for lang-specific functions.
* opt-read.awk: Record lang numbers.
* opt-functions.awk (flag_set_p): Ignore the arguments of flags.
(lang_sanitized_name): New.
ada/
* gcc-interface/misc.c: Include opts.h and options.h before tm.h.
(gnat_handle_option): Call lang-specific generated function.
fortran/
* options.c (gfc_handle_option): Call lang-specific generated function.
From-SVN: r187462
Bernd Schmidt [Mon, 14 May 2012 12:08:31 +0000 (12:08 +0000)]
attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN.
* attribs.c (decl_attributes): Avoid emitting a warning if
ATTR_FLAG_BUILT_IN.
* doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Use lowercase for rtx
codes. Document meaning of sets inside CALL_INSN_FUNCTION_USAGE.
* c-family/c-common.c (DEF_ATTR_STRING): Define and undefine as
necessary.
* builtin-attrs.def (DEF_ATTR_FOR_STRING): Define. Use it to
define a string "1".
(ATTR_RET1_NOTHROW_NONNULL_LEAF): New attr definition.
* builtins.def (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET,
BUILT_IN_STRCPY): Use it for these functions.
* postreload.c (reload_combine): Deal with SETs inside
CALL_INSN_FUNCTION_USAGE.
* caller-save.c (setup_save_areas, save_call_clobbered_regs):
Look for REG_RETURNED notes and use a cheap restore if possible.
* ira-int.h (struct ira_allocno): New member cheap_calls_crossed_num.
(ALLOCNO_CHEAP_CALLS_CROSSED_NUM): New macro.
* ira-build.c (ira_create_allocno, create_cap_allocno,
propagate_allocno_info, propagate_some_info_from_allocno,
copy_info_to_removed_store_destination, ira_flattening): Handle it.
* ira-lives.c (pseudo_regno_single_word_and_live_p,
find_call_crossed_cheap_reg): New static functions.
(process_bb_node_lives): Look for SETs in CALL_INSN_FUNCTION_USAGE,
and set ALLOCNO_CHEAP_CALLS_CROSSED_NUM if possible. Also make
a REG_RETURNED note in that case.
* ira.c (setup_reg_renumber): Change assert to allow cases where
allocnos only cross calls for which they are cheap to restore.
* ira-costs.c (ira_tune_allocno_costs): Compare
ALLOCNO_CALLS_CROSSED_NUM to ALLOCNO_CHEAP_CALLS_CROSSED_NUM rather
than 0.
* reg-notes.def (REG_RETURNED): New note.
* cse.c (cse_insn): Likewise.
* sched-deps.c (sched_analyze_insn): Likewise.
* expr.c (init_block_move_fn): Set a "fn spec" attribute.
* calls.c (decl_return_flags): New static function.
(expand_call): Generate a SET in CALL_INSN_FUNCTION_USAGE for
functions that return one of their arguments.
* lto/lto-lang.c (handle_fnspec_attribute): New static function.
(lto_attribute_table): Add "fn spec".
(DEF_ATTR_STRING): Define and undefine along with the other macros.
* regcprop.c (struct kill_set_value_data): New.
(kill_set_value): Interpret data as a pointer to such a struct.
Do nothing if the caller wants the register to be ignored.
(copyprop_hardreg_forward_1): Handle SETs in CALL_INSN_FUNCTION_USAGE.
testsuite/
* gcc.target/i386/retarg.c: New test.
From-SVN: r187459
Richard Guenther [Mon, 14 May 2012 11:36:58 +0000 (11:36 +0000)]
re PR tree-optimization/53340 (rnflow.f90 is ~20% slower after revision 187092)
2012-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53340
* tree-ssa-pre.c (op_valid_in_sets): Fix error in last commit.
From-SVN: r187457
Richard Guenther [Mon, 14 May 2012 10:44:44 +0000 (10:44 +0000)]
gimplify.c (gimplify_expr): Remove odd code.
2012-05-14 Richard Guenther <rguenther@suse.de>
* gimplify.c (gimplify_expr): Remove odd code.
From-SVN: r187453
Eric Botcazou [Mon, 14 May 2012 08:46:33 +0000 (08:46 +0000)]
stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype into a PLUS_EXPR byte offset.
* stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype
into a PLUS_EXPR byte offset.
* tree-ssa-pre.c (can_value_number_call): Delete.
(compute_avail): Skip all statements with side effects.
<GIMPLE_CALL>: Skip calls to internal functions.
From-SVN: r187450
GCC Administrator [Mon, 14 May 2012 00:19:01 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r187449
Steven Bosscher [Sun, 13 May 2012 19:57:37 +0000 (19:57 +0000)]
pa.md: Use define_c_enum for "unspec" and "unspecv".
* config/pa/pa.md: Use define_c_enum for "unspec" and "unspecv".
From-SVN: r187443