gcc.git
11 years agore PR debug/54519 (Debug info quality regression due to (pointless) partial inlining)
Jakub Jelinek [Fri, 5 Oct 2012 19:24:38 +0000 (21:24 +0200)]
re PR debug/54519 (Debug info quality regression due to (pointless) partial inlining)

PR debug/54519
* ipa-split.c (split_function): Add debug args and
debug source and normal stmts for args_to_skip which are
gimple regs.
* tree-inline.c (copy_debug_stmt): When inlining, adjust
source debug bind stmts to debug binds of corresponding
DEBUG_EXPR_DECL.

* gcc.dg/guality/pr54519-1.c: New test.
* gcc.dg/guality/pr54519-2.c: New test.
* gcc.dg/guality/pr54519-3.c: New test.
* gcc.dg/guality/pr54519-4.c: New test.
* gcc.dg/guality/pr54519-5.c: New test.
* gcc.dg/guality/pr54519-6.c: New test.

From-SVN: r192139

11 years agore PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is...
Marc Glisse [Fri, 5 Oct 2012 19:10:22 +0000 (21:10 +0200)]
re PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is absent)

2012-10-05  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/54686
* include/c_global/cstdlib (abs(long long)): Define with
__builtin_llabs when we have long long.
(abs(long)): Use __builtin_labs.
(abs(__int128)): Define when we have __int128.

From-SVN: r192138

11 years agocstdlib: Remove redundant pasto code protected by __GXX_EXPERIMENTAL_CXX0X__.
Paolo Carlini [Fri, 5 Oct 2012 17:39:32 +0000 (17:39 +0000)]
cstdlib: Remove redundant pasto code protected by __GXX_EXPERIMENTAL_CXX0X__.

2012-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cstdlib: Remove redundant pasto code protected
by __GXX_EXPERIMENTAL_CXX0X__.
* include/c_global/cwctype: Likewise.
* include/c_global/ccomplex: Remove uses of obsolete macro
_GLIBCXX_INCLUDE_AS_TR1.
* include/c_global/cfloat: Likewise.

From-SVN: r192137

11 years agoavr.md: Fix indentations of insn C snippets.
Georg-Johann Lay [Fri, 5 Oct 2012 16:37:04 +0000 (16:37 +0000)]
avr.md: Fix indentations of insn C snippets.

* config/avr/avr.md: Fix indentations of insn C snippets.

From-SVN: r192136

11 years agore PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is...
Marc Glisse [Fri, 5 Oct 2012 16:20:44 +0000 (18:20 +0200)]
re PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is absent)

2012-10-05  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/54686
* include/c_std/cstdlib (abs(long long)): Define with
__builtin_llabs when we have long long.
(abs(long)): Use __builtin_labs.
(abs(__int128)): Define when we have __int128.
* testsuite/26_numerics/headers/cstdlib/54686.c: New file.

From-SVN: r192132

11 years agore PR c++/50893 ([C++0x] explicitly defaulted virtual destructor throw specification)
Paolo Carlini [Fri, 5 Oct 2012 15:00:26 +0000 (15:00 +0000)]
re PR c++/50893 ([C++0x] explicitly defaulted virtual destructor throw specification)

2012-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50893
* g++.dg/cpp0x/defaulted38.C: New.

From-SVN: r192131

11 years ago[multiple changes]
Arnaud Charlet [Fri, 5 Oct 2012 14:33:42 +0000 (16:33 +0200)]
[multiple changes]

2012-10-05  Robert Dewar  <dewar@adacore.com>

* sem_ch7.adb: Minor reformatting.

2012-10-05  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for
a duplicate pragma before Rep_Item_Too_Late to prevent spurious
messages about duplicate pragmas.

2012-10-05  Ed Schonberg  <schonberg@adacore.com>

* exp_util.adb (Find_Init_Call): If the successor of the
object declaration is a block, check whether it contains the
initialization call, because it may have been created by actuals
that use the secondary stack.

From-SVN: r192130

11 years ago[multiple changes]
Arnaud Charlet [Fri, 5 Oct 2012 14:29:57 +0000 (16:29 +0200)]
[multiple changes]

2012-10-05  Thomas Quinot  <quinot@adacore.com>

* sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
guard against abnormal tree resulting from a previously diagnosed
illegality.

2012-10-05  Hristian Kirtchev  <kirtchev@adacore.com>

* freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
and update all refs to it. Do not freeze an entity outside a subprogram
body when the original context is an expression function.

2012-10-05  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
is suppressed, even if backend overflow/divide checks are enabled.

2012-10-05  Ed Schonberg  <schonberg@adacore.com>

* einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
chain properly subprograms on Subprograms_For_Type list.
* sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
procedure, to create declaration for invariant procedure
independently of the construction of the body, so that it can
be called within expression functions.
* sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
declaration may already have been generated at the point an
explicit invariant aspect is encountered.
* sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
for invariant procedure.
* sem_ch7.adb (Analyze_Package_Specification): clean up call to
build invariant procedure.
(Preserve_Full_Attributes): propagate information about invariants
if they appear on a completion,

2012-10-05  Pascal Obry  <obry@adacore.com>

* gnat_ugn.texi: Update documentation to lift Microsoft C
restriction.

From-SVN: r192128

11 years ago[multiple changes]
Arnaud Charlet [Fri, 5 Oct 2012 14:26:27 +0000 (16:26 +0200)]
[multiple changes]

2012-10-05  Robert Dewar  <dewar@adacore.com>

* sem_util.adb (Has_One_Matching_Field): Handle case of lone
discriminant.

2012-10-05  Yannick Moy  <moy@adacore.com>

* checks.adb (Minimize_Eliminate_Overflow_Checks): Correct code
for the division operation and exponent operation. Adjust bound
for the mod and rem operations.

From-SVN: r192126

11 years agochecks.adb, [...]: Minor reformatting.
Robert Dewar [Fri, 5 Oct 2012 14:22:55 +0000 (14:22 +0000)]
checks.adb, [...]: Minor reformatting.

2012-10-05  Robert Dewar  <dewar@adacore.com>

* checks.adb, checks.ads, s-tassta.adb, s-stposu.adb, s-spsufi.adb,
s-spsufi.ads, exp_ch4.adb: Minor reformatting.

From-SVN: r192125

11 years ago[multiple changes]
Arnaud Charlet [Fri, 5 Oct 2012 14:21:21 +0000 (16:21 +0200)]
[multiple changes]

2012-10-05  Yannick Moy  <moy@adacore.com>

* switch-c.adb, checks.adb, checks.ads, sem_prag.adb, exp_ch4.adb,
osint.adb: Minor correction of typos, and special case for Alfa mode.

2012-10-05  Hristian Kirtchev  <kirtchev@adacore.com>

* s-spsufi.adb: Add with clause for Ada.Unchecked_Deallocation.
Add with and use clauses for System.Finalization_Masters.
(Finalize_And_Deallocate): Add an instance of
Ada.Unchecked_Deallocation. Merge the code from the now obsolete
Finalize_Subpool into this routine.
* s-spsufi.ads: Add pragma Preelaborate.
* s-stposu.adb: Remove with clause for
Ada.Unchecked_Deallocation; Add with and use clauses for
System.Storage_Pools.Subpools.Finalization; (Finalize_Pool):
Update the comment on all actions takes with respect to a subpool
finalization. Finalize and deallocate each individual subpool.
(Finalize_Subpool): Removed.
(Free): Removed;
(Detach): Move from package body to spec.
* s-stposu.ads (Detach): Move from package body to spec.
(Finalize_Subpool): Removed.

2012-10-05  Arnaud Charlet  <charlet@adacore.com>

* s-tassta.adb: Update comments.
(Vulnerable_Complete_Master): If Free_On_Termination is set, do
nothing, and let the task free itself if not already done.

From-SVN: r192124

11 years agoruntime: Use argv[0] to get executable name for backtrace.
Ian Lance Taylor [Fri, 5 Oct 2012 13:44:40 +0000 (13:44 +0000)]
runtime: Use argv[0] to get executable name for backtrace.

From-SVN: r192123

11 years agore PR lto/54811 (tree code '�' is not supported in LTO streams)
Richard Guenther [Fri, 5 Oct 2012 11:48:27 +0000 (11:48 +0000)]
re PR lto/54811 (tree code '�' is not supported in LTO streams)

2012-10-05  Richard Guenther  <rguenther@suse.de>

PR middle-end/54811
* tree-ssa-live.c (clear_unused_block_pointer_1): Look at
DECL_DEBUG_EXPR again.

From-SVN: r192120

11 years agore PR c/33763 (Bogus inlining failed in call to `xxx': redefined extern inline functi...
Jan Hubicka [Fri, 5 Oct 2012 11:43:38 +0000 (13:43 +0200)]
re PR c/33763 (Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining)

PR tree-optimization/33763
* tree-inline.c (expand_call_inline): Silently ignore always_inline
attribute for redefined extern inline functions.

* c-c++-common/pr33763.c: New test.

From-SVN: r192119

11 years agotree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
Jan Hubicka [Fri, 5 Oct 2012 10:10:33 +0000 (12:10 +0200)]
tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.

* tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Declare here.
(vect_analyze_loop_operations): Use loop count estimate to rule out
unprofitable vectorization.
(vect_estimate_min_profitable_iters): Return ret_min_profitable_estimate.

From-SVN: r192116

11 years agore PR tree-optimization/54810 (VRP doesn't handle comparison of narrowing cast like...
Jakub Jelinek [Fri, 5 Oct 2012 09:37:25 +0000 (11:37 +0200)]
re PR tree-optimization/54810 (VRP doesn't handle comparison of narrowing cast like comparison of BIT_AND_EXPR)

PR tree-optimization/54810
* tree-vrp.c (register_edge_assert_for_2): Handle
NAME = (unsigned) NAME2; if (NAME cmp CST) for
narrowing casts to unsigned integral type like
NAME = NAME2 & CST2; if (NAME cmp CST) where CST2
is the max value of the unsigned integral type.

* gcc.dg/tree-ssa/vrp85.c: New test.

From-SVN: r192115

11 years agore PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
Jonathan Wakely [Fri, 5 Oct 2012 07:35:12 +0000 (07:35 +0000)]
re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)

PR other/53889
* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
Fix parameter names.

From-SVN: r192114

11 years agoucnid-7.c: Skip on AIX.
David Edelsohn [Fri, 5 Oct 2012 00:30:50 +0000 (00:30 +0000)]
ucnid-7.c: Skip on AIX.

        * gcc.dg/ucnid-7.c: Skip on AIX.
        * gcc.dg/ucnid-8.c: Same.
        * gcc.dg/ucnid-10.c: Same.
        * gcc.dg/ucnid-13.c: Same.
        * gcc.dg/attr-alias-3.c: Same.
        * gcc.dg/attr-alias-5.c: Same.
        * gcc.dg/torture/pr51106-2.c: Same.
        * gcc.dg/vmx/3b-13.c: Use valid splat index.

From-SVN: r192113

11 years agoDaily bump.
GCC Administrator [Fri, 5 Oct 2012 00:18:24 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192112

11 years agore PR c++/52233 (ICE segmentation fault with using-declaration)
Paolo Carlini [Thu, 4 Oct 2012 23:48:16 +0000 (23:48 +0000)]
re PR c++/52233 (ICE segmentation fault with using-declaration)

2012-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52233
* g++.dg/cpp0x/alias-decl-23.C: New.

From-SVN: r192109

11 years agore PR c++/53403 (Function template friend denied access to private types of granting...
Paolo Carlini [Thu, 4 Oct 2012 23:19:46 +0000 (23:19 +0000)]
re PR c++/53403 (Function template friend denied access to private types of granting template class.)

2012-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53403
* g++.dg/template/friend53.C

From-SVN: r192108

11 years agoRevert accidential commits.
Oleg Endo [Thu, 4 Oct 2012 22:08:34 +0000 (22:08 +0000)]
Revert accidential commits.

From-SVN: r192107

11 years agogcc-dg.exp (cleanup-ada-spec): New procedure.
Eric Botcazou [Thu, 4 Oct 2012 21:34:13 +0000 (21:34 +0000)]
gcc-dg.exp (cleanup-ada-spec): New procedure.

* lib/gcc-dg.exp (cleanup-ada-spec): New procedure.
* lib/scanasm.exp (get_ada_spec_filename): Likewise.
(scan-ada-spec): Likewise.
(scan-ada-spec-not): Likewise.
* gcc.dg/dump-ada-spec-1.c: New test.
* g++.dg/other/dump-ada-spec-1.C: Likewise.

From-SVN: r192106

11 years agoCorrect incomplete diff edit.
Lawrence Crowl [Thu, 4 Oct 2012 21:27:13 +0000 (21:27 +0000)]
Correct incomplete diff edit.

From-SVN: r192105

11 years agoAdd myself to wrote after approval list.
Lawrence Crowl [Thu, 4 Oct 2012 21:24:32 +0000 (21:24 +0000)]
Add myself to wrote after approval list.

From-SVN: r192104

11 years agore PR target/50356 (Poor if condition in h8300 config code)
Jeff Law [Thu, 4 Oct 2012 20:58:30 +0000 (14:58 -0600)]
re PR target/50356 (Poor if condition in h8300 config code)

* PR target/50356
* config/h8300/h8300.c (h8300_rtx_costs): Fix typo in CONST_INT case.

From-SVN: r192103

11 years ago* btest.c (f23): Avoid uninitialized variable warning.
Gerald Pfeifer [Thu, 4 Oct 2012 20:16:08 +0000 (20:16 +0000)]
* btest.c (f23): Avoid uninitialized variable warning.

From-SVN: r192102

11 years agors6000.c (rs6000_code_end): Protect the use of ASM_WEAKEN_DECL with #if RS6000_WEAK.
Jason Merrill [Thu, 4 Oct 2012 19:54:13 +0000 (15:54 -0400)]
rs6000.c (rs6000_code_end): Protect the use of ASM_WEAKEN_DECL with #if RS6000_WEAK.

* config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
ASM_WEAKEN_DECL with #if RS6000_WEAK.

From-SVN: r192101

11 years agore PR target/33135 ([SH] -ffinite-math-only should not be on by default)
Oleg Endo [Thu, 4 Oct 2012 18:32:20 +0000 (18:32 +0000)]
re PR target/33135 ([SH] -ffinite-math-only should not be on by default)

PR target/33135
* config/sh/t-sh (HOST_LIBGCC2_CFLAGS): Delete.
* config/sh/t-netbsd (HOST_LIBGCC2_CFLAGS): Delete.
* config/sh/t-linux (HOST_LIBGCC2_CFLAGS): Remove mieee option.

From-SVN: r192097

11 years agoBasile Starynkevitch <basile@starynkevitch.net>
Basile Starynkevitch [Thu, 4 Oct 2012 18:18:58 +0000 (18:18 +0000)]
Basile Starynkevitch  <basile@starynkevitch.net>

        * gengtype.c (walk_type): Emit mark_hook when inside a
          struct of a union member.

From-SVN: r192095

11 years agoexpr.c (scalarize_intrinsic_call): Plug memory leak.
Tobias Burnus [Thu, 4 Oct 2012 17:32:06 +0000 (19:32 +0200)]
expr.c (scalarize_intrinsic_call): Plug memory leak.

2012-10-04  Tobias Burnus  <burnus@net-b.de>

        * expr.c (scalarize_intrinsic_call): Plug memory leak.
        * frontend-passes.c (gcc_assert): Extend assert.
        * interface.c (gfc_compare_derived_types): Fix comparison.
        (gfc_check_operator_interface): Move up to make this error
        message reachable.
        (get_sym_storage_size): Remove always-true checks.
        * io.c (format_lex): Add comment.
        (gfc_free_wait): Free memory.
        * match.c (gfc_match_select_type): Ditto.
        * matchexpr.c (match_level_3): Ditto.
        * primary.c (match_string_constant): Ditto.
        (match_actual_arg): Check return value.
        * resolve.c (gfc_resolve_substring_charlen,
        resolve_typebound_generic_call, resolve_typebound_function,
        resolve_typebound_subroutine): Free memory.
        * trans-types.c (gfc_get_derived_type): Remove always-true
        * check.

From-SVN: r192094

11 years agoBasile Starynkevitch <basile@starynkevitch.net>
Basile Starynkevitch [Thu, 4 Oct 2012 17:22:15 +0000 (17:22 +0000)]
Basile Starynkevitch  <basile@starynkevitch.net>

        * gengtype.c (walk_type): Emit mark_hook when inside a
          struct of a union member.

From-SVN: r192092

11 years agopredicates.md (flash_operand): New predicate.
Georg-Johann Lay [Thu, 4 Oct 2012 17:02:27 +0000 (17:02 +0000)]
predicates.md (flash_operand): New predicate.

* config/avr/predicates.md (flash_operand): New predicate.
* config/avr/avr.md (reload_in<mode>): Use it in operand 1 instead
of memory_operand.

From-SVN: r192090

11 years ago* gcc.dg/lto/20120723_0.c: Skip on SPARC 32-bit.
Eric Botcazou [Thu, 4 Oct 2012 17:01:53 +0000 (17:01 +0000)]
* gcc.dg/lto/20120723_0.c: Skip on SPARC 32-bit.

From-SVN: r192089

11 years ago2012-10-03 Tobias Burnus <burnus@net-b.de>
Tobias Burnus [Thu, 4 Oct 2012 17:01:31 +0000 (19:01 +0200)]
2012-10-03  Tobias Burnus  <burnus@net-b.de>

        * gcc.c (record_temp_file, add_sysrooted_prefix,
        * process_command,
        do_self_spec, compare_debug_dump_opt_spec_function): Plug memleaks.
        (do_spec_1): Ditto, fix out-of-bound access.
        * opts.c (common_handle_option): Plug memleak.

From-SVN: r192088

11 years agodarwin.c (darwin_assemble_visibility): Treat VISIBILITY_INTERNAL as hidden.
Jason Merrill [Thu, 4 Oct 2012 15:38:43 +0000 (11:38 -0400)]
darwin.c (darwin_assemble_visibility): Treat VISIBILITY_INTERNAL as hidden.

* config/darwin.c (darwin_assemble_visibility): Treat
VISIBILITY_INTERNAL as hidden.

* config/darwin-c.c (find_subframework_file): Add missing const.
(framework_construct_pathname): Likewise.

From-SVN: r192085

11 years agoImplement #pragma GCC warning/error
Florian Weimer [Thu, 4 Oct 2012 15:33:11 +0000 (17:33 +0200)]
Implement #pragma GCC warning/error

2012-10-04  Florian Weimer  <fweimer@redhat.com>

* doc/cpp.texi (Pragmas): Document #pragma GCC warning, #pragma
GCC error.

2012-10-04  Florian Weimer  <fweimer@redhat.com>

* c-c++-common/cpp/diagnostic-pragma-1.c: New testcase.

2012-10-04  Florian Weimer  <fweimer@redhat.com>

* directives.c (do_pragma_warning_or_error): New.
(do_pragma_warning): New.
(do_pragma_error): New.
(_cpp_init_internal_pragmas): Register new pragmas.

From-SVN: r192084

11 years agore PR c++/54323 (Friend function declaration not correctly identified with CRTP ...
Paolo Carlini [Thu, 4 Oct 2012 15:19:34 +0000 (15:19 +0000)]
re PR c++/54323 (Friend function declaration not correctly identified with CRTP + enable_if)

2012-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54323
* g++.dg/cpp0x/pr54323.C: New.

From-SVN: r192083

11 years agodwarf.c: If the system header files do not declare strnlen, provide our own version.
Ian Lance Taylor [Thu, 4 Oct 2012 15:16:09 +0000 (15:16 +0000)]
dwarf.c: If the system header files do not declare strnlen, provide our own version.

* dwarf.c: If the system header files do not declare strnlen,
provide our own version.

From-SVN: r192082

11 years agore PR tree-optimization/54735 (Segmentation fault in walk_aliased_vdefs_1)
Richard Guenther [Thu, 4 Oct 2012 11:48:21 +0000 (11:48 +0000)]
re PR tree-optimization/54735 (Segmentation fault in walk_aliased_vdefs_1)

2012-10-04  Richard Guenther  <rguenther@suse.de>

PR middle-end/54735
* tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
cleaning up the CFG.

* g++.dg/torture/pr54735.C: New testcase.

From-SVN: r192078

11 years agore PR lto/47788 (New LTO failures)
Richard Guenther [Thu, 4 Oct 2012 11:23:18 +0000 (11:23 +0000)]
re PR lto/47788 (New LTO failures)

2012-10-04  Richard Guenther  <rguenther@suse.de>

PR lto/47788
* tree-streamer-out.c (write_ts_block_tree_pointers): For
inlined functions outer scopes write the ultimate origin
as BLOCK_ABSTRACT_ORIGIN and BLOCK_SOURCE_LOCATION.
Do not stream the fragment chains.
* tree-streamer-in.c (lto_input_ts_block_tree_pointers): Likewise.
* dwarf2out.c (gen_subprogram_die): Handle NULL DECL_INITIAL.
(dwarf2out_decl): Always output DECL_ABSTRACT function decls.

From-SVN: r192075

11 years ago[multiple changes]
Arnaud Charlet [Thu, 4 Oct 2012 09:23:38 +0000 (11:23 +0200)]
[multiple changes]

2012-10-04  Robert Dewar  <dewar@adacore.com>

* sem_res.adb (Resolve_Set_Membership): Warn on duplicates.

2012-10-04  Emmanuel Briot  <briot@adacore.com>

* g-comlin.adb (Getopt): Fix value of Full_Switch returned in case of
invalid switch.

2012-10-04  Arnaud Charlet  <charlet@adacore.com>

* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r192073

11 years ago[multiple changes]
Arnaud Charlet [Thu, 4 Oct 2012 09:18:55 +0000 (11:18 +0200)]
[multiple changes]

2012-10-04  Robert Dewar  <dewar@adacore.com>

* sem_eval.adb (Fold_Str, Fold_Uint, Fold_Ureal): Reset static
expression state after Resolve call.

2012-10-04  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma. case Warnngs): Don't make entry
in the table for Warnings Off pragmas if within an instance.

2012-10-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch9.adb (Analyze_Entry_Body): Transfer
Has_Pragma_Unreferenced flag from entry formal to corresponding
entity in body, to prevent spurious warnings when pragma is
present.

2012-10-04  Robert Dewar  <dewar@adacore.com>

* s-bignum.adb (Big_Exp): Raise Storage_Error for ludicrously
large results.

2012-10-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Check_Duplicate_Aspects): Diagnose properly
aspects that appear in the partial and the full view of a type.

2012-10-04  Robert Dewar  <dewar@adacore.com>

* sinfo.ads (N_Return_Statement): Removed.

2012-10-04  Tristan Gingold  <gingold@adacore.com>

* init.c (__gl_zero_cost_exceptions): Comment it as not used
anymore.
* bindgen.adb (Gen_Adainit): Do not emit Zero_Cost_Exceptions
anymore.

2012-10-04  Thomas Quinot  <quinot@adacore.com>

* prep.adb, prepcomp.adb, gprep.adb, opt.ads: New preprocessor switch
-a (all source text preserved).

From-SVN: r192072

11 years ago[multiple changes]
Arnaud Charlet [Thu, 4 Oct 2012 09:12:18 +0000 (11:12 +0200)]
[multiple changes]

2012-10-04  Vincent Celier  <celier@adacore.com>

* prj-proc.adb (Recursive_Process): Use project directory
display path name as the value of 'Project_Dir.

2012-10-04  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
Deal with case where we get a bignum operand and cannot do a
range analysis.
* sem_eval.adb (Why_Not_Static): Deal with bignum operands

2012-10-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Find_Unary_Types): Within an instance, an
interpretation that involves a predefied arithmetic operator is
not a candidate if the corresponding generic formal type is not
a numeric type.
* sem_util.ads, sem_util.adb (Corresonding_Generic_Type): If a
type is a generic actual type within an instance, return the
corresponding formal in the generic unit, otherwise return
Any_Type.

From-SVN: r192071

11 years agochecks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze if/case expression...
Robert Dewar [Thu, 4 Oct 2012 09:10:08 +0000 (09:10 +0000)]
checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze if/case expression if nothing has changed (just reexpand).

2012-10-04  Robert Dewar  <dewar@adacore.com>

* checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze
if/case expression if nothing has changed (just reexpand). Stops
case expression from generating incorrect temporary.
* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
Fix cut and paste typo for range analysis in NE (not equal) case.
* sem_eval.adb (Compile_Time_Compare): Small optimization to
catch some more cases.
* types.ads (Suppressed_Or_Checked): New subtype of
Overflow_Check_Type.

From-SVN: r192070

11 years ago[multiple changes]
Arnaud Charlet [Thu, 4 Oct 2012 09:08:20 +0000 (11:08 +0200)]
[multiple changes]

2012-10-04  Javier Miranda  <miranda@adacore.com>

* exp_disp.adb (Set_CPP_Constructors_Old): Removed.
(Set_CPP_Constructors): Code cleanup.

2012-10-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Is_Ancestor_Unit): Make global, for use elsewhere.
(Install_Private_with_Clauses): if clause is private and limited,
do not install the limited view if the library unit is an ancestor
of the unit being compiled.  This unusual configuration occurs
when compiling a unit DDP, when an ancestor P of DDP has a
private limited with clause on a descendant of P that is itself
an ancestor of DDP.

From-SVN: r192069

11 years ago[multiple changes]
Arnaud Charlet [Thu, 4 Oct 2012 09:05:53 +0000 (11:05 +0200)]
[multiple changes]

2012-10-04  Vincent Celier  <celier@adacore.com>

* prj-proc.adb (Process_Package_Declaration): Use project
directory display path name as the value of 'Project_Dir.

2012-10-04  Gary Dismukes  <dismukes@adacore.com>

* exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be
given by an arbitrary name, so copy the tree to make the call's actual.

2012-10-04  Robert Dewar  <dewar@adacore.com>

* s-exnllf.adb, s-exnllf.ads: Minor reformatting.

2012-10-04  Thomas Quinot  <quinot@adacore.com>

* exp_ch6.adb: Minor reformatting.

2012-10-04  Pascal Obry  <obry@adacore.com>

* projects.texi: Use consistently @command{} when referencing
commands. Fix typos.

From-SVN: r192068

11 years agodumpfile.h, dumpfile.c: Remove TDI_ada.
Arnaud Charlet [Thu, 4 Oct 2012 08:51:31 +0000 (10:51 +0200)]
dumpfile.h, dumpfile.c: Remove TDI_ada.

2012-10-04  Arnaud Charlet  <charlet@adacore.com>

* dumpfile.h, dumpfile.c: Remove TDI_ada.

c-family/
* c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
* c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
out of dumpfile.h.

c/
* c-decl.c (c_write_global_declarations): Fix handling of
-fdump-ada-spec*.

cp/
        * decl2.c (cp_write_global_declarations): Fix handling of
        -fdump-ada-spec*.

From-SVN: r192067

11 years agore PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1...
Eric Botcazou [Thu, 4 Oct 2012 08:15:11 +0000 (08:15 +0000)]
re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")

PR rtl-optimization/54739
* gcc.dg/lower-subreg-1.c: Also skip on SPARC.

From-SVN: r192066

11 years agoi386.c (ix86_dep_by_shift_count_body): Add check on reload_completed since it can...
Yuri Rumyantsev [Thu, 4 Oct 2012 08:13:18 +0000 (08:13 +0000)]
i386.c (ix86_dep_by_shift_count_body): Add check on reload_completed since it can be invoked before register...

         * config/i386/i386.c (ix86_dep_by_shift_count_body) : Add
         check on reload_completed since it can be invoked before
         register allocation phase in pre-reload schedule.
         (ia32_multipass_dfa_lookahead) : Do not use dfa_lookahead for pre-reload
         schedule to save compile time.
         (ix86_sched_reorder) : Do not perform ready list reordering for pre-reload
         schedule to save compile time.
         (insn_is_function_arg) : New function. Returns true if lhs of insn is
         HW function argument register.
         (add_parameter_dependencies) : New function. Add output dependencies
         for chain of function adjacent arguments if only there is a move to
         likely spilled HW registers. Return first argument if at least one
         dependence was added or NULL otherwise.
         (avoid_func_arg_motion) : New function. Add output or anti dependency
         from insn to first_arg to restrict code motion.
         (add_dependee_for_func_arg) : New function. Avoid cross block motion of
         function argument through adding dependency from the first non-jump
         insn in bb.
         (ix86_dependencies_evaluation_hook) : New function. Hook for pre-reload schedule:
         avoid motion of function arguments passed in passed in likely spilled
         HW registers.
         (ix86_adjust_priority) : New function. Hook for pre-reload schedule: set priority
         of moves from likely spilled HW registers to maximum to schedule them
         as soon as possible.
         (ix86_sched_init_global): Do not perform multipass scheduling for pre-reload
         schedule to save compile time.

From-SVN: r192065

11 years agoconfigure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
Uros Bizjak [Thu, 4 Oct 2012 05:53:22 +0000 (07:53 +0200)]
configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.

* configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
* configure: Regenerate.

From-SVN: r192062

11 years agosh.c (sh_can_use_simple_return_p): Return false for SHmedia and SHcompact using call_...
Kaz Kojima [Thu, 4 Oct 2012 03:03:12 +0000 (03:03 +0000)]
sh.c (sh_can_use_simple_return_p): Return false for SHmedia and SHcompact using call_cookie.

* sh.c (sh_can_use_simple_return_p): Return false for SHmedia
and SHcompact using call_cookie.
* sh.md (epilogue): Emit non-inlined return insns for SHmedia
and SHcompact using call_cookie.

From-SVN: r192061

11 years agoDaily bump.
GCC Administrator [Thu, 4 Oct 2012 00:18:17 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192059

11 years agore PR libstdc++/53248 (std::array<T,0> doesn't work when T is not default-constructible)
Paolo Carlini [Thu, 4 Oct 2012 00:02:29 +0000 (00:02 +0000)]
re PR libstdc++/53248 (std::array<T,0> doesn't work when T is not default-constructible)

2012-10-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/53248
* include/std/array (__array_traits<>): Add.
(array<>): Allow for zero-size arrays of non default-constructible
elements.
* testsuite/23_containers/array/requirements/
non_default_constructible.cc: New.
* testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
Adjust.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
dg-error line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.

From-SVN: r192056

11 years agodwarf.c (read_uleb128): Fix overflow test.
Ian Lance Taylor [Wed, 3 Oct 2012 22:07:12 +0000 (22:07 +0000)]
dwarf.c (read_uleb128): Fix overflow test.

* dwarf.c (read_uleb128): Fix overflow test.
(read_sleb128): Likewise.
(build_address_map): Don't change unit_buf.start.

From-SVN: r192053

11 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Wed, 3 Oct 2012 21:39:18 +0000 (21:39 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

PR target/51244
* config/sh/sh.md (*mov_t_msb_neg): New insn and two accompanying
unnamed split patterns.

PR target/51244
* gcc.target/sh/pr51244-12.c: New.

From-SVN: r192052

11 years agore PR target/50457 (SH2A atomic functions)
Oleg Endo [Wed, 3 Oct 2012 21:36:14 +0000 (21:36 +0000)]
re PR target/50457 (SH2A atomic functions)

PR target/50457
* config/sh/sh.c (parse_validate_atomic_model_option): Handle name
strings in sh_atomic_model.
* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation
to ...
* config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function.
Add __SH1__ and __SH2__ defines.  Add __SH_ATOMIC_MODEL_*__ define.
* config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name
variables.
(sh_cpu_cpp_builtins): Declare new function.

PR target/50457
* config/sh/linux-atomic.S: Delete.
* config/sh/linux-atomic.c: New.
* config/sh/t-linux (LIB2ADD): Replace linux-atomic.S with
linux-atomic.c.  Add cflags to disable warnings.

From-SVN: r192051

11 years agore PR middle-end/54782 (ICE: in change_scope, at final.c:1543 with -O -ffast-math...
Dehao Chen [Wed, 3 Oct 2012 20:34:26 +0000 (20:34 +0000)]
re PR middle-end/54782 (ICE: in change_scope, at final.c:1543 with -O -ffast-math -ftree-parallelize-loops=2 -g)

2012-10-03  Dehao Chen  <dehao@google.com>

gcc:
PR middle-end/54782
* tree-cfg.c (move_block_to_fn): Update lexical block for phi_args.

testsuite:
PR middle-end/54782
* gcc.dg/pr54782.c: New test.

From-SVN: r192049

11 years agoFix the last changelog date.
Vladimir Makarov [Wed, 3 Oct 2012 19:14:39 +0000 (19:14 +0000)]
Fix the last changelog date.

From-SVN: r192048

11 years agoreginfo.c (max_regno_since_last_resize): New.
Vladimir Makarov [Wed, 3 Oct 2012 19:13:01 +0000 (19:13 +0000)]
reginfo.c (max_regno_since_last_resize): New.

2012-09-27  Vladimir Makarov  <vmakarov@redhat.com>

* reginfo.c (max_regno_since_last_resize): New.
(reg_preferred_class, reg_alternate_class): Add assert.
(allocate_reg_info): Initialize allocated reg info.
(resize_reg_info): Make bigger reg_info and initialize new memory.
(reginfo_init): Initialize max_regno_since_last_resize.
(setup_reg_classes): Change assert.

From-SVN: r192047

11 years agoFix SSE and YMM state support check logic for -march=native
Andrew W. Nosenko [Wed, 3 Oct 2012 17:46:47 +0000 (17:46 +0000)]
Fix SSE and YMM state support check logic for -march=native

*  config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
in SSE and YMM state support check for -march=native.

From-SVN: r192044

11 years agorx.c (struct decl_chain): New local structure.
Nick Clifton [Wed, 3 Oct 2012 16:12:22 +0000 (16:12 +0000)]
rx.c (struct decl_chain): New local structure.

* config/rx/rx.c (struct decl_chain): New local structure.
(warned_decls): New local variable.  Contains a stack of decls for
which warnings have been issued.
(add_warned_decl): Adds a decl to the stack.
(already_warned): Returns true if a given decl is on the stack.
(rx_set_current_function): Issue a warning if multiple fast
interrupt handlers are defined.
* config/rx/rx.opt (mwarn-multiple-fast-interrupts): New option.
* doc/invoke.texi: Document the option.

From-SVN: r192041

11 years agoconfig.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set default_use_cxa_atexit to...
Mark Kettenis [Wed, 3 Oct 2012 15:44:06 +0000 (15:44 +0000)]
config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set default_use_cxa_atexit to yes.

* config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
default_use_cxa_atexit to yes.

From-SVN: r192039

11 years agore PR rtl-optimization/54792 (-fcompare-debug failures introduced by r191493)
Jakub Jelinek [Wed, 3 Oct 2012 14:28:28 +0000 (16:28 +0200)]
re PR rtl-optimization/54792 (-fcompare-debug failures introduced by r191493)

PR rtl-optimization/54792
* sched-deps.c (find_modifiable_mems): Scan also TAIL insn.

From-SVN: r192038

11 years agore PR c++/54777 ([C++11] Comma operator in constexpr environment can cause ICE)
Jakub Jelinek [Wed, 3 Oct 2012 14:21:20 +0000 (16:21 +0200)]
re PR c++/54777 ([C++11] Comma operator in constexpr environment can cause ICE)

PR c++/54777
* semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
not ignoring the second operand, pass the original second operand
and not one with stripped nops to cxx_eval_constant_expression.

* g++.dg/cpp0x/constexpr-ref4.C: New test.

From-SVN: r192036

11 years ago[multiple changes]
Arnaud Charlet [Wed, 3 Oct 2012 08:11:48 +0000 (10:11 +0200)]
[multiple changes]

2012-10-03  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (New_Overloaded_Entity): call
Append_Inherited_Subprogram when appropriate.
* sem_dim.adb (Analyze_Dimension_Call): Do not perform dimensional
analysis if call has previous semantic error.
* sem_util.ads, sem_util.adb (Append_Inherited_Subprogram):
new subprogram to handle properly the visibility of inherited
operations that are primitives of a type extension, when the
parent type and operations are declared in the same visible part.

2012-10-03  Robert Dewar  <dewar@adacore.com>

* checks.adb (Minimize_Eliminate_Overflow_Checks): Properly
handle case of top level expression within type conversion
* gnat1drv.adb (Adjust_Global_Switches): Set SUPPRESSED as
default for overflow checking for -gnatg mode (includes run-time).
* sem_res.adb (Resolve_Type_Conversion): Avoid bogus warnings
about redundant conversions from MINIMIZED/EXTENDED mode checking

From-SVN: r192029

11 years agoexp_ch4.adb (Expand_N_Allocator_Expression): Minor code reorganization and cleanup.
Javier Miranda [Wed, 3 Oct 2012 08:09:15 +0000 (08:09 +0000)]
exp_ch4.adb (Expand_N_Allocator_Expression): Minor code reorganization and cleanup.

2012-10-03  Javier Miranda  <miranda@adacore.com>

* exp_ch4.adb (Expand_N_Allocator_Expression): Minor code
reorganization and cleanup. Done to ensure proper management of
the C++ constructor covering tagged and untagged types and also
non-default constructors.
* exp_ch6.ads, exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator):
New subprogram.

From-SVN: r192028

11 years ago[multiple changes]
Arnaud Charlet [Wed, 3 Oct 2012 08:07:31 +0000 (10:07 +0200)]
[multiple changes]

2012-10-03  Gary Dismukes  <dismukes@adacore.com>

* sem_ch6.adb: Minor typo fix.

2012-10-03  Robert Dewar  <dewar@adacore.com>

* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
Set Top_Level properly (to False) for operand of range of
membership test.
* exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
Fix crash with -gnato3 and membership operations.
(Expand_Membership_Minimize_Eliminate_Overflow): Fix error message
and wrong results for -gnato3 large expression and predicated
subtype.
(Expand_Membership_Minimize_Eliminate_Overflow): Use
expression action node to avoid using insert actions (bombs in
some cases).
(Expand_Compare_Minimize_Eliminate_Overflow): Use expression action
node to avoid using insert actions (bombs in some cases).

2012-10-03  Javier Miranda  <miranda@adacore.com>

* exp_disp.adb (Set_CPP_Constructors_Old): Handle constructor of
untagged type that has all its parameters with defaults and hence it
covers the default constructor.

From-SVN: r192027

11 years ago[multiple changes]
Arnaud Charlet [Wed, 3 Oct 2012 08:04:27 +0000 (10:04 +0200)]
[multiple changes]

2012-10-03  Yannick Moy  <moy@adacore.com>

* checks.adb, sem_prag.adb, s-bignum.ads: Minor typo fixes.

2012-10-03  Thomas Quinot  <quinot@adacore.com>

* g-socket.adb (Connect_Socket, version with timeout): When the
newly-connected socket is reported as available for writing, check
whether it has a pending asynchronous error prior to returning.

2012-10-03  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Check_Conformance): Additional info when subtype
conformance fails, due to a missing null exclusion indicatar in
a formal that must match a controlling access formal.

From-SVN: r192026

11 years agolibgo: Update to Go 1.0.3.
Ian Lance Taylor [Wed, 3 Oct 2012 05:27:36 +0000 (05:27 +0000)]
libgo: Update to Go 1.0.3.

From-SVN: r192025

11 years agocompiler: Fix a, b, c := b, a, 1 when a and b already exist.
Ian Lance Taylor [Wed, 3 Oct 2012 05:03:24 +0000 (05:03 +0000)]
compiler: Fix a, b, c := b, a, 1 when a and b already exist.

From-SVN: r192022

11 years agoDaily bump.
GCC Administrator [Wed, 3 Oct 2012 00:17:56 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r192018

11 years agocompiler: Fix a couple of type reflection strings.
Ian Lance Taylor [Tue, 2 Oct 2012 23:50:23 +0000 (23:50 +0000)]
compiler: Fix a couple of type reflection strings.

From-SVN: r192014

11 years agocompiler: Fix parse of (<- chan <- chan <- int)(x).
Ian Lance Taylor [Tue, 2 Oct 2012 22:22:28 +0000 (22:22 +0000)]
compiler: Fix parse of (<- chan <- chan <- int)(x).

From-SVN: r192011

11 years agoDocument -mprefer-avx128
H.J. Lu [Tue, 2 Oct 2012 21:11:21 +0000 (21:11 +0000)]
Document -mprefer-avx128

PR target/54785
* doc/invoke.texi: Document -mprefer-avx128.

From-SVN: r192007

11 years agosimplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>): Don't optimize a truncat...
Andrew Pinski [Tue, 2 Oct 2012 21:03:37 +0000 (21:03 +0000)]
simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>): Don't optimize a truncate of a mem if it is a vector mode.

2012-10-02  Andrew Pinski  <apinski@cavium.com>

* simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
Don't optimize a truncate of a mem if it is a vector mode.

From-SVN: r192006

11 years agore PR fortran/54778 ([OOP] an ICE on invalid OO code)
Janus Weil [Tue, 2 Oct 2012 21:02:16 +0000 (23:02 +0200)]
re PR fortran/54778 ([OOP] an ICE on invalid OO code)

2012-10-02  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54778
* interface.c (matching_typebound_op): Check for 'class_ok' attribute.

2012-10-02  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54778
* gfortran.dg/class_53.f90: New.

From-SVN: r192005

11 years agore PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
Jonathan Wakely [Tue, 2 Oct 2012 20:22:32 +0000 (20:22 +0000)]
re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)

libgcc:

PR other/53889
* gthr.h (__gthread_recursive_mutex_destroy): Document new required
function.
* gthr-posix.h (__gthread_recursive_mutex_destroy): Define.
* gthr-single.h (__gthread_recursive_mutex_destroy): Likewise.
* config/gthr-rtems.h (__gthread_recursive_mutex_destroy): Likewise.
* config/gthr-vxworks.h (__gthread_recursive_mutex_destroy): Likewise.
* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
Likewise.
* config/mips/gthr-mipssde.h (__gthread_recursive_mutex_destroy):
Likewise.
* config/pa/gthr-dce.h (__gthread_recursive_mutex_destroy): Likewise.
* config/s390/gthr-tpf.h (__gthread_recursive_mutex_destroy): Likewise.

libstdc++-v3:

PR other/53889
* include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
Use __gthread_recursive_mutex_destroy.
(__recursive_mutex_base::_S_destroy): Remove.
(__recursive_mutex_base::_S_destroy_win32): Likewise.
* include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
Use __gthread_recursive_mutex_destroy.
(__recursive_mutex::_S_destroy): Remove.
(__recursive_mutex::_S_destroy_win32): Likewise.

From-SVN: r192002

11 years agore PR debug/54551 (DF resets some DEBUG_INSNs unnecessarily)
Alexandre Oliva [Tue, 2 Oct 2012 20:06:08 +0000 (20:06 +0000)]
re PR debug/54551 (DF resets some DEBUG_INSNs unnecessarily)

gcc/ChangeLog:
PR debug/54551
* Makefile.in (VALTRACK_H): Add hash-table.h.
* valtrack.h: Include hash-table.h.
(struct dead_debug_global_entry): New.
(struct dead_debug_hash_descr): New.
(struct dead_debug_global): New.
(struct dead_debug): Rename to...
(struct dead_debug_local): ... this.  Adjust all uses.
(dead_debug_global_init, dead_debug_global_finish): New.
(dead_debug_init): Rename to...
(dead_debug_local_init): ... this.  Adjust all callers.
(dead_debug_finish): Rename to...
(dead_debug_local_finish): ... this.  Adjust all callers.
* valtrack.c (dead_debug_global_init): New.
(dead_debug_init): Rename to...
(dead_debug_local_init): ... this.  Take global parameter.
Save it and initialize used bitmap from it.
(dead_debug_global_find, dead_debug_global_insert): New.
(dead_debug_global_replace_temp): New.
(dead_debug_promote_uses): New.
(dead_debug_finish): Rename to...
(dead_debug_local_finish): ... this.  Promote remaining uses.
(dead_debug_global_finish): New.
(dead_debug_add): Try to replace global temps first.
(dead_debug_insert_temp): Support global replacements.
* dce.c (word_dce_process_block, dce_process_block): Add
global_debug parameter.  Pass it on.
(fast_dce): Initialize, pass on and finalize global_debug.
* df-problems.c (df_set_unused_notes_for_mw): Adjusted.
(df_create_unused_notes, df_note_bb_compute): Likewise.
(df_note_compute): Justify local-only dead debug analysis.
gcc/testsuite/ChangeLog:
PR debug/54551
* gcc.dg/guality/pr54551.c: New.

From-SVN: r192001

11 years agore PR debug/53135 (Duplicates cause size explosion (vta/dwarf))
Alexandre Oliva [Tue, 2 Oct 2012 20:05:24 +0000 (20:05 +0000)]
re PR debug/53135 (Duplicates cause size explosion (vta/dwarf))

PR debug/53135
* dwarf2out.c (value_format): Use block4 for dw_val_class_loc
when needed.

From-SVN: r192000

11 years agore PR debug/54177 (Segfault in cselib_lookup due to NULL_RTX passed from vt_add_funct...
Alexandre Oliva [Tue, 2 Oct 2012 19:58:37 +0000 (19:58 +0000)]
re PR debug/54177 (Segfault in cselib_lookup due to NULL_RTX passed from vt_add_function_parameter)

PR debug/54177
* var-tracking.c (vt_add_function_parameter): Bail if
var_lowpart fails.

From-SVN: r191999

11 years agoCheck SSE and YMM state support for -march=native
H.J. Lu [Tue, 2 Oct 2012 19:49:01 +0000 (19:49 +0000)]
Check SSE and YMM state support for -march=native

2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>

PR target/54741
*  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
(XSTATE_FP): Likewise.
(XSTATE_SSE): Likewise.
(XSTATE_YMM): Likewise.
(host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
SSE and YMM states aren't supported.

From-SVN: r191998

11 years agomips.md (*baddu_si_eb, [...]): Merge into...
Richard Sandiford [Tue, 2 Oct 2012 19:37:24 +0000 (19:37 +0000)]
mips.md (*baddu_si_eb, [...]): Merge into...

gcc/
* config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
(*baddu_si): ...this new pattern.

From-SVN: r191997

11 years agoira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs.
Richard Sandiford [Tue, 2 Oct 2012 19:34:49 +0000 (19:34 +0000)]
ira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs.

gcc/
* ira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs.
(ira_useful_class_mode_regs): New macro.
* ira.c (clarify_prohibited_class_mode_regs): Set up
ira_useful_class_mode_regs.
* ira-color.c (setup_profitable_hard_regs): Use it to initialise
profitable_hard_regs.

From-SVN: r191996

11 years agoira.h (target_ira): Add x_ira_class_singleton.
Richard Sandiford [Tue, 2 Oct 2012 19:34:38 +0000 (19:34 +0000)]
ira.h (target_ira): Add x_ira_class_singleton.

gcc/
* ira.h (target_ira): Add x_ira_class_singleton.
(ira_class_singleton): New macro.
* ira.c (setup_prohibited_class_mode_regs): Set up ira_class_singleton.
* ira-build.c (update_conflict_hard_reg_costs): Use
ira_class_singleton to check for classes with a single
allocatable register.
* ira-lives.c (ira_implicitly_set_insn_hard_regs): Likewise.
(single_reg_class): Likewise.  When more than one class is specified,
check whether they have the same singleton register.
(process_single_reg_class_operands): Require single_reg_class
to return NO_REGS or a class with a single allocatable register.
Obtain that register from ira_class_singleton.

From-SVN: r191995

11 years agoIf no -mcpu=<xxx> or implicit cpu via --with-cpu=<xxx> configure option, inhereit...
Michael Meissner [Tue, 2 Oct 2012 18:08:02 +0000 (18:08 +0000)]
If no -mcpu=<xxx> or implicit cpu via --with-cpu=<xxx> configure option, inhereit all TARGET_DEFAULT bits.

From-SVN: r191993

11 years agopr46728-1.c: Accept xssqrtdp.
Pat Haugen [Tue, 2 Oct 2012 17:50:52 +0000 (17:50 +0000)]
pr46728-1.c: Accept xssqrtdp.

* gcc.target/powerpc/pr46728-1.c: Accept xssqrtdp.
* gcc.target/powerpc/pr46728-2.c: Likewise.

From-SVN: r191992

11 years agore PR testsuite/54772 (vectorization broken in gfortran on x86_64-*-freebsd)
Sharad Singhai [Tue, 2 Oct 2012 17:19:09 +0000 (17:19 +0000)]
re PR testsuite/54772 (vectorization broken in gfortran on x86_64-*-freebsd)

2012-10-02  Sharad Singhai  <singhai@google.com>

PR testsuite/54772
* tree-vect-stmts.c (vectorizable_operation): Add missing return.

testsuite/ChangeLog
2012-10-02  Sharad Singhai  <singhai@google.com>

PR testsuite/54772
* gfortran.dg/vect/vect.exp: Change verbose vectorizor dump options
to fix test failures caused by r191883.
* gcc.dg/tree-ssa/gen-vect-11.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-2.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-32.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-25.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-11a.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-26.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-11b.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-11c.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-28.c: Likewise.

From-SVN: r191991

11 years agors6000.c (rs6000_option_override_internal): Do not set TARGET_ALTIVEC_VRSAVE for...
David Edelsohn [Tue, 2 Oct 2012 14:53:28 +0000 (10:53 -0400)]
rs6000.c (rs6000_option_override_internal): Do not set TARGET_ALTIVEC_VRSAVE for TARGET_ELF.

        * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
        set TARGET_ALTIVEC_VRSAVE for TARGET_ELF.
        (rs6000_stack_info): Only set vrsave_mask if TARGET_ALTIVEC_VRSAVE.

From-SVN: r191986

11 years agore PR tree-optimization/54713 (error: non-trivial conversion at assignment in gcc...
Jakub Jelinek [Tue, 2 Oct 2012 13:43:09 +0000 (15:43 +0200)]
re PR tree-optimization/54713 (error: non-trivial conversion at assignment in gcc.c-torture/compile/pr53410-2.c)

PR tree-optimization/54713
* expr.c (categorize_ctor_elements_1): Don't assume purpose is
non-NULL.
* tree-cfg.c (verify_gimple_assign_single): Add verification of
vector CONSTRUCTORs.
* tree-ssa-sccvn.c (vn_reference_lookup_3): For VECTOR_TYPE
CONSTRUCTORs, don't do anything if element type is VECTOR_TYPE,
and don't check index.
* tree-vect-slp.c (vect_get_constant_vectors): VIEW_CONVERT_EXPR
ctor elements first if their type isn't compatible with vector
element type.

From-SVN: r191983

11 years agoChangeLog: Fix whitespace.
Uros Bizjak [Tue, 2 Oct 2012 13:28:40 +0000 (15:28 +0200)]
ChangeLog: Fix whitespace.

* gcc/ChangeLog: Fix whitespace.
* libbacktrace/ChangeLog: Ditto.

From-SVN: r191982

11 years agore PR other/54761 (FAIL log)
Uros Bizjak [Tue, 2 Oct 2012 13:14:25 +0000 (15:14 +0200)]
re PR other/54761 (FAIL log)

        PR other/54761
        * configure.ac (EXTRA_FLAGS): New.
* Makefile.am (AM_FLAGS): Add $(EXTRA_FLAGS).
        * configure, Makefile.in: Regenerate.

From-SVN: r191981

11 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Oct 2012 13:05:08 +0000 (15:05 +0200)]
[multiple changes]

2012-10-02  Ben Brosgol  <brosgol@adacore.com>

* gnat_rm.texi: Minor editing.

2012-10-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Function_Return): Reject a return
expression whose type is a local access to subprogram type.

2012-10-02  Robert Dewar  <dewar@adacore.com>

* sem_eval.adb: Minor improvement to Compile_Time_Compare.

2012-10-02  Robert Dewar  <dewar@adacore.com>

* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
Fix base type problem that resulted in improper conversion.
(Minimize_Eliminate_Overflow_Checks): Properly handle top
level case to avoid unnecessary conversion to bignum or LLI.
(Minimize_Eliminate_Overflow_Checks): Implement uniform two phase
approach for arithmetic operators and for if/case expressions.
* checks.ads: Minor comment fix.
* exp_ch4.adb (Minimized_Eliminated_Overflow_Check): New function,
implements a uniform way of treating minimized/eliminated checks in
two phases.
(Expand_Compare_Minimize_Eliminate_Overflow): Fix cut and
paste error resulting in wrong results for less than in some
cases. (Expand_Membership_Minimize_Eliminate_Overflow):
Fix error caused by incorrect capture of operand types.
(Expand_Membership_Minimize_Eliminate_Overflow): Fix error in
handling of bignum case.
(Expand_N_Case_Expression): Implement
proper two phase handling (Expand_N_If_Expression): Implement
proper two phase handling (Expand_N_Op_Abs): Implement proper
two phase handling ditto for all other arithmetic operators
* sem_res.adb (Resolve_If_Expression): Avoid introducing
unneeded conversions.

From-SVN: r191980

11 years agos-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
Robert Dewar [Tue, 2 Oct 2012 12:59:17 +0000 (12:59 +0000)]
s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.

2012-10-02  Robert Dewar  <dewar@adacore.com>

* s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
(Big_Exp): Fix possible error for (-1)**0.
(Big_Exp): Fix error in computing 2**K for small K.
(Big_Mod): Fix wrong sign for negative operands.
(Div_Rem): Fix bad results for operands close to 2**63.
* s-bignum.ads: Add documentation and an assertion to require
LLI size to be 64 bits.
* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Do not
allow ELIMINATED if LLI'Size is other than 64 bits.
* switch-c.adb (Scan_Switches): Do not allow -gnato3 if LLI'Size
is not 64 bits.
* switch.ads (Bad_Switch): Add missing pragma No_Return.
* gnat_ugn.texi: Added appendix on Overflow Check Handling in GNAT.

2012-10-02  Robert Dewar  <dewar@adacore.com>

* sem_type.adb: Minor reformatting.

From-SVN: r191979

11 years agoUpdate dependencies.
Arnaud Charlet [Tue, 2 Oct 2012 12:30:24 +0000 (14:30 +0200)]
Update dependencies.

From-SVN: r191978

11 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Oct 2012 12:29:37 +0000 (14:29 +0200)]
[multiple changes]

2012-10-02  Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb: Minor reformatting.

2012-10-02  Javier Miranda  <miranda@adacore.com>

* exp_disp.adb (Set_CPP_Constructors): Handle constructor with default
parameters that covers the default constructor.

2012-10-02  Yannick Moy  <moy@adacore.com>

* s-bignum.adb: Minor stylistic and comment corrections.

2012-10-02  Pascal Obry  <obry@adacore.com>

* prj-util.adb (For_Interface_Sources): Iterate over all sources in
aggregate library projects.

From-SVN: r191977

11 years agosem_ch8.adb (Find_Direct_Name): The left-hand side of an assignment may designate...
Ed Schonberg [Tue, 2 Oct 2012 12:26:43 +0000 (12:26 +0000)]
sem_ch8.adb (Find_Direct_Name): The left-hand side of an assignment may designate a generalized reference.

2012-10-02  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Find_Direct_Name): The left-hand side of an
assignment may designate a generalized reference.

From-SVN: r191976

11 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Oct 2012 12:25:44 +0000 (14:25 +0200)]
[multiple changes]

2012-10-02  Eric Botcazou  <ebotcazou@adacore.com>

* types.h (N_Return_Statement): Delete.
* gcc-interface/trans.c (gnat_to_gnu): Replace N_Return_Statement with
N_Simple_Return_Statement.

2012-10-02  Ed Schonberg  <schonberg@adacore.com>

* freeze.adb (Freeze_Entity): in a generic context, aspects must
be analyzed because they may be queried subsequently within the
generic unit, even if no other freezing actions are generated
for an entity.
* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): iterator
aspects must be analyzed because they are delayed aspects and
the corresponding attribute definition clause may not have been
analyzed yet.

2012-10-02  Yannick Moy  <moy@adacore.com>

* gnat_rm.texi: Minor editing.

From-SVN: r191975

11 years agosinfo.adb, [...]: Get rid of internal use of N_Return_Statement.
Robert Dewar [Tue, 2 Oct 2012 12:18:15 +0000 (12:18 +0000)]
sinfo.adb, [...]: Get rid of internal use of N_Return_Statement.

2012-10-02  Robert Dewar  <dewar@adacore.com>

* sinfo.adb, sinfo.ads, sem_util.adb, sem_util.ads, types.h,
exp_ch4.adb, exp_ch6.adb: Get rid of internal use of N_Return_Statement.

From-SVN: r191974

11 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Oct 2012 12:16:17 +0000 (14:16 +0200)]
[multiple changes]

2012-10-02  Eric Botcazou  <ebotcazou@adacore.com>

* types.h: Minor cosmetic fix.

2012-10-02  Robert Dewar  <dewar@adacore.com>

* sinfo.ads: Remove refs of N_Conditional_Expression and
N_Parameterized_Expression.

2012-10-02  Thomas Quinot  <quinot@adacore.com>

* exp_aggr.adb (Get_Component_Val): Rewrite code that computes
justification of bits in enclosing word in an attempt to make
it clearer.

From-SVN: r191973