gcc.git
12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

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

From-SVN: r192059

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

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

From-SVN: r192018

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

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

From-SVN: r191978

12 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

12 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

12 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

12 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

12 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

12 years agodecl.c (elaborate_expression_1): Use the variable for bounds of loop iteraration...
Eric Botcazou [Tue, 2 Oct 2012 10:34:44 +0000 (10:34 +0000)]
decl.c (elaborate_expression_1): Use the variable for bounds of loop iteraration scheme only for locally defined...

* gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
bounds of loop iteraration scheme only for locally defined subtypes.

* gcc-interface/trans.c (gigi): Fix formatting.
(build_return_expr): Apply the NRV optimization only for BLKmode.

From-SVN: r191971

12 years agotree.h (DECL_NONLOCAL_FRAME): New macro.
Eric Botcazou [Tue, 2 Oct 2012 10:00:32 +0000 (10:00 +0000)]
tree.h (DECL_NONLOCAL_FRAME): New macro.

* tree.h (DECL_NONLOCAL_FRAME): New macro.
* tree-nested.c (get_frame_type): Set DECL_NONLOCAL_FRAME.
* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Stream in
DECL_NONLOCAL_FRAME flag.
* tree-streamer-out.c (pack_ts_decl_common_value_fields): Stream out
DECL_NONLOCAL_FRAME flag.

From-SVN: r191970

12 years agotree-ssa-forwprop.c (forward_propagate_into_cond): Don't use boolean_type_node for...
Marc Glisse [Tue, 2 Oct 2012 08:52:44 +0000 (10:52 +0200)]
tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use boolean_type_node for vectors.

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

* tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use
boolean_type_node for vectors.

From-SVN: r191968

12 years agopar_sco.adb, [...]: Change name Conditional_Expression to If_Expression.
Robert Dewar [Tue, 2 Oct 2012 08:48:27 +0000 (08:48 +0000)]
par_sco.adb, [...]: Change name Conditional_Expression to If_Expression.

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

* par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
exp_util.adb, exp_util.ads, exp_attr.adb, sinfo.adb, sinfo.ads,
exp_ch9.adb, style.ads, scos.ads, debug.adb, einfo.ads, scng.adb,
checks.adb, checks.ads, sem.adb, par-ch4.adb, sem_util.adb, types.h,
sem_res.adb, expander.adb, scans.ads, par.adb, exp_ch2.adb,
gnat1drv.adb, stylesw.ads, sem_elab.adb, exp_ch4.adb, exp_ch4.ads,
exp_ch6.adb, sem_ch4.adb, sem_ch4.ads, sem_ch6.adb,
opt.ads, sem_eval.adb, sem_eval.ads, exp_intr.adb, sprint.adb,
sprint.ads, styleg.ads: Change name Conditional_Expression to
If_Expression.
* gcc-interface/trans.c (gnat_to_gnu): Replace
N_Conditional_Expression by N_If_Expression.
* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r191967

12 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Oct 2012 08:40:05 +0000 (10:40 +0200)]
[multiple changes]

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

* exp_ch4.adb (Expand_N_Op_Expon): Use expression with actions
for x ** 4.

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

* sem_ch5.adb: (Analyze_Iterator_Specification): If container
has a variable indexing aspect, the element is a variable and
is modifiable in the loop. This check is also performed when the
loop is expanded, but it must be done in semantic analysis when
expansion is disabled, for example for ASIS usage.

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

* lib-xref.adb (Generate_Reference): If a child subprogram
has no previous spec, treat a reference to its formals (such
as a parameter association) as coming from source in order to
generate the proper references and enable gps navigation between
reference and declaration.

From-SVN: r191965

12 years agochecks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed): New name for Apply_Arithme...
Robert Dewar [Tue, 2 Oct 2012 08:37:54 +0000 (08:37 +0000)]
checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed): New name for Apply_Arithmetic_Overflow_Normal

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

* checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed):
New name for Apply_Arithmetic_Overflow_Normal
(Apply_Arithmetic_Overflow_Minimized_Eliminated):
Add handling for conditional expressions
(Is_Signed_Integer_Arithmetic_Op): Now includes conditional
expressions (Minimize_Eliminate_Overflow_Checks): Handle
conditional expressions.
* checks.ads: Minor comment fixes.
* exp_ch4.adb (Expand_N_Case_Expression): Call
Apply_Arithmetic_Overflow_Check (Expand_N_Conditional_Expression):
Call Apply_Arithmetic_Overflow_Check
* s-bignum.adb (Normalize): Remove incorrect precondition.
* sem_res.adb (Resolve_Case_Expression): Set Do_Overflow_Check
flag (Resolve_Conditional_Expression): Set Do_Overflow_Check flag.
* sinfo.adb: Add Do_Overflow_Check for conditional expressions.
* sinfo.ads: Minor documentation updates.

From-SVN: r191964

12 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Oct 2012 08:31:49 +0000 (10:31 +0200)]
[multiple changes]

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

* exp_ch4.adb (Expand_N_Case_Expression): Do not introduce
indirections when the type of the alternatives is an access type:
more efficient, and removes anomalies when an alternative is
statically null.

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

* aspects.ads: Minor comment addition (Invariant is a GNAT aspect).

From-SVN: r191963

12 years agoexp_ch7.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 2 Oct 2012 08:22:53 +0000 (08:22 +0000)]
exp_ch7.adb, [...]: Minor reformatting.

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

* exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb,
freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting.

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

* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix
typo preventing proper processing of Overflow_Checks pragmas
for general case.

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

* exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow
checks mode when bignum mode is used.

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

* stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN.
* par-ch4.adb (P_Relational_Operator): Add style check for NOT IN.
* style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure.

From-SVN: r191962

12 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Oct 2012 08:19:14 +0000 (10:19 +0200)]
[multiple changes]

2012-10-02  Vincent Pucci  <pucci@adacore.com>

* sem_attr.adb (Analyze_Attribute): Check dimension for attribute
Old before it gets expanded.
* sem_dim.adb (Analyze_Dimension_Has_Etype): Correctly propagate
dimensions for identifier.

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

* exp_ch5.adb (Expand_Iterator_Loop): Handle properly the case
where the iterator type is derived locally from an instantiation
of Ada.Iterators_Interface.
* exp_ch7.adb (Establish_Transient_Scope): Do not create a
transient scope if within the expansion of an iterator loop,
because a transient block already exists.

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

* gnatcmd.adb: Use absolute path for configuration pragmas files
* make.adb (Configuration_Pragmas_Switch.Absolute_Path): Moved
to Makeutl.
* makeutl.ads, makeutl.adb (Absolute_Path): New function, moved from
make.adb.

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

* prj-part.adb (Post_Parse_Context_Clause): Resurrect Boolean
parameter In_Limited.  Check for circularity also if In_Limited
is True.
(Parse_Single_Project): Call Post_Parse_Context_Clause with
In_Limited parameter.

From-SVN: r191961

12 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Oct 2012 08:16:40 +0000 (10:16 +0200)]
[multiple changes]

2012-10-02  Bob Duff  <duff@adacore.com>

* checks.adb (Apply_Predicate_Check): Disable check in -gnatc mode.

2012-10-02  Vincent Pucci  <pucci@adacore.com>

* sem_ch6.adb (Analyze_Function_Call): Dimension propagation
for function calls moved to Analyze_Dimension_Call.
* sem_dim.adb (Analyze_Dimension_Call): Properly propagate the
dimensions from the returned type for function calls.

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

* gnatcmd.adb: Take into account any configuration pragma file
in the project files for gnat pretty/stub/metric.

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

* sem_ch13.adb (Check_Indexing_Functions): Refine several tests
on the legality of indexing aspects: Constant_Indexing functions
do not have to return a reference type, and given an indexing
aspect Func, not all overloadings of Func in the current scope
need to be indexing functions.

2012-10-02  Vasiliy Fofanov  <fofanov@adacore.com>

* gnat_ugn.texi: Adjust docs for overflow checks to be VMS-friendly.

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

* switch-m.adb (Normalize_Compiler_Switches): Recognize switches
-gnatox and -gnatoxx when x=0/1/2/3.

From-SVN: r191960

12 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Oct 2012 08:13:09 +0000 (10:13 +0200)]
[multiple changes]

2012-10-02  Vincent Pucci  <pucci@adacore.com>

* sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension
analysis for indexed components added.
* sem_ch6.adb (Analyze_Function_Call): Dimension propagation
for function calls added.
* sem_dim.adb (Analyze_Dimension): Call to
Analyze_Dimension_Has_Etype when N is a function call.
(Analyze_Dimension_Call): Don't propagate anymore the dimensions
for function calls since this is now treated separately in
Analyze_Dimension_Has_Etype.
(Analyze_Dimension_Has_Etype): For
attribute references, propagate the dimensions from the prefix.
* sem_dim.ads (Copy_Dimensions): Fix comment.

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

* checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
(Apply_Parameter_Aliasing_And_Validity_Checks): This routine
has been split into two.
(Apply_Parameter_Validity_Checks): New routine.
* exp_ch6.adb (Expand_Call): Add checks to verify that actuals
do not overlap. The checks are made on the caller side to overcome
issues of parameter passing mechanisms.
* freeze.adb (Freeze_Entity): Update call to
Apply_Parameter_Aliasing_And_Validity_Checks.

From-SVN: r191959

12 years agosem_ch4.adb (Is_Empty_Range): Use bounds of index type to determine whether an array...
Ed Schonberg [Tue, 2 Oct 2012 08:10:54 +0000 (08:10 +0000)]
sem_ch4.adb (Is_Empty_Range): Use bounds of index type to determine whether an array is empty when...

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

* sem_ch4.adb (Is_Empty_Range): Use bounds of index type
to determine whether an array is empty when optimizing
a quantified expression over a null range. Use of RM_Size
was incorrect. Analyze condition before constant-folding the
expression to catch potential errors. Modify the error message
to avoid mathematical terminology.

From-SVN: r191958

12 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Oct 2012 08:08:18 +0000 (10:08 +0200)]
[multiple changes]

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

* usage.adb, gnat_rm.texi, vms_data.ads: Add entry for
/OVERFLOW_CHECKS=?? generating -gnato?? for control
of extended overflow checking.
* ug_words: Add entry for -gnato?? for /OVERFLOW_CHECKS=??
* gnat_ugn.texi: Add documentation for -gnato?? for control of overflow
checking mode.

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

* sem_ch4.adb (Analyze_Quantified_Expression): If the iterator in
a quantified expression is statically known to be null (e.g. a
array with an empty index type) emit a warning.

From-SVN: r191957

12 years ago[multiple changes]
Arnaud Charlet [Tue, 2 Oct 2012 08:04:47 +0000 (10:04 +0200)]
[multiple changes]

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

* sem_dim.adb: Minor code reorganization.
* sem_dim.ads: Add comment.

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

* checks.ads, exp_ch4.adb, checks.adb
(Minimize_Eliminate_Overflow_Checks): Add Top_Level parameter to avoid
unnecessary conversions to Bignum.
Minor reformatting.

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

* sem_ch6.adb (Process_PPCs): Generate invariant checks for a
return value whose type is an access type and whose designated
type has invariants. Ditto for in-out parameters and in-parameters
of an access type.
* exp_ch3.adb (Build_Component_Invariant_Call): Add invariant check
for an access component whose designated type has invariants.

From-SVN: r191956

12 years agotarget.h (struct gtm_jmpbuf): Merge x86_64 and ia32 declarations some more.
Uros Bizjak [Tue, 2 Oct 2012 07:50:36 +0000 (09:50 +0200)]
target.h (struct gtm_jmpbuf): Merge x86_64 and ia32 declarations some more.

* config/x86/target.h (struct gtm_jmpbuf): Merge x86_64
and ia32 declarations some more.
* config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code.

From-SVN: r191955

12 years agocheck_GNU_style.sh: Remove temporay file upon exit.
Christophe Lyon [Tue, 2 Oct 2012 07:41:28 +0000 (07:41 +0000)]
check_GNU_style.sh: Remove temporay file upon exit.

2012-10-02   Christophe Lyon  <christophe.lyon@linaro.org>

       * check_GNU_style.sh: Remove temporay file upon exit.

From-SVN: r191954

12 years agoDaily bump.
GCC Administrator [Tue, 2 Oct 2012 00:18:43 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r191952

12 years agognu-versioned-namespace.ver: Add more typeinfo/vtable exports.
Benjamin Kosnik [Mon, 1 Oct 2012 23:58:37 +0000 (23:58 +0000)]
gnu-versioned-namespace.ver: Add more typeinfo/vtable exports.

2012-10-01  Benjamin Kosnik  <bkoz@redhat.com>

* config/abi/pre/gnu-versioned-namespace.ver: Add more
typeinfo/vtable exports.

From-SVN: r191949

12 years agodecl.c (check_initializer): Set DECL_NONTRIVIALLY_INITIALIZED_P for a constructor...
Jason Merrill [Mon, 1 Oct 2012 23:57:18 +0000 (19:57 -0400)]
decl.c (check_initializer): Set DECL_NONTRIVIALLY_INITIALIZED_P for a constructor call.

* decl.c (check_initializer): Set DECL_NONTRIVIALLY_INITIALIZED_P
for a constructor call.
(decl_jump_unsafe): So don't bother checking
type_has_nontrivial_default_init.
* call.c (set_up_extended_ref_temp): Set
DECL_NONTRIVIALLY_INITIALIZED_P.

From-SVN: r191948

12 years agoreplaceo
Jason Merrill [Mon, 1 Oct 2012 23:57:12 +0000 (19:57 -0400)]
replaceo

From-SVN: r191947

12 years agocp-tree.h (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK): New.
Jason Merrill [Mon, 1 Oct 2012 23:57:05 +0000 (19:57 -0400)]
cp-tree.h (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK): New.

* cp-tree.h (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK): New.
(DECL_FRIEND_P, DECL_ANTICIPATED): Use it.
(TYPE_FUNCTION_OR_TEMPLATE_DECL_P): New.
* name-lookup.c (hidden_name_p): Use it.

From-SVN: r191946

12 years agocp-tree.h (DECL_PRETTY_FUNCTION_P): Just look at the name.
Jason Merrill [Mon, 1 Oct 2012 23:56:57 +0000 (19:56 -0400)]
cp-tree.h (DECL_PRETTY_FUNCTION_P): Just look at the name.

* cp-tree.h (DECL_PRETTY_FUNCTION_P): Just look at the name.
* decl.c (cp_make_fname_decl): Adjust.

From-SVN: r191945

12 years agore PR libstdc++/54757 (FAIL: ext/random/beta_distribution/cons/default.cc (test for...
Paolo Carlini [Mon, 1 Oct 2012 23:10:02 +0000 (23:10 +0000)]
re PR libstdc++/54757 (FAIL: ext/random/beta_distribution/cons/default.cc (test for excess errors))

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

PR libstdc++/54757
* include/ext/random (rice_distribution<>::operator()): Use std::hypot
only if _GLIBCXX_USE_C99_MATH_TR1.
* include/ext/random.tcc (rice_distribution<>::__generate_impl):
Likewise.

From-SVN: r191944

12 years agoMAINTAINERS: Add myself as dwarf debugging code maintainer.
Cary Coutant [Mon, 1 Oct 2012 22:22:00 +0000 (22:22 +0000)]
MAINTAINERS: Add myself as dwarf debugging code maintainer.

2012-10-01  Cary Coutant  <ccoutant@google.com>

* MAINTAINERS: Add myself as dwarf debugging code maintainer.

From-SVN: r191943

12 years agoFix powerpc breakage
Michael Meissner [Mon, 1 Oct 2012 21:47:36 +0000 (21:47 +0000)]
Fix powerpc breakage

From-SVN: r191942

12 years agore PR middle-end/54759 (segfault for gcc.dg/vect/pr49093.c on Solaris)
Dehao Chen [Mon, 1 Oct 2012 16:33:23 +0000 (16:33 +0000)]
re PR middle-end/54759 (segfault for gcc.dg/vect/pr49093.c on Solaris)

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

PR middle-end/54759
* gcc/tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Use
LOCATION_LOCUS to compare with UNKNOWN_LOCATION.
(slpeel_tree_peel_loop_to_edge): Likewise.
* gcc/tree-vectorizer.c (vectorize_loops): Likewise.

From-SVN: r191931

12 years agotype_traits (result_of): Provide "SFINAE-friendly" (see N3436) implementation.
Daniel Krugler [Mon, 1 Oct 2012 16:02:57 +0000 (16:02 +0000)]
type_traits (result_of): Provide "SFINAE-friendly" (see N3436) implementation.

2012-10-01  Daniel Krugler  <daniel.kruegler@googlemail.com>

* include/std/type_traits (result_of): Provide "SFINAE-friendly"
(see N3436) implementation.
* testsuite/20_util/result_of/sfinae_friendly_1.cc: New.
* testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Tweak
dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r191930

12 years agore PR target/54087 (__atomic_fetch_add does not use xadd instruction)
Andrew MacLeod [Mon, 1 Oct 2012 15:50:09 +0000 (15:50 +0000)]
re PR target/54087 (__atomic_fetch_add does not use xadd instruction)

2012-10-01  Andrew MacLeod  <amacleod@redhat.com>

PR target/54087
* optabs.c (expand_atomic_fetch_op_no_fallback): New.  Factored code
from expand_atomic_fetch_op.
(expand_atomic_fetch_op):  Try atomic_{add|sub} operations in terms of
the other one if direct opcode fails.
* testsuite/gcc.dg/pr54087.c:  New testcase for atomic_sub ->
atomic_add when atomic_sub fails.

From-SVN: r191929

12 years agore PR rtl-optimization/54457 ([x32] Fail to combine 64bit index + constant)
Uros Bizjak [Mon, 1 Oct 2012 15:00:41 +0000 (17:00 +0200)]
re PR rtl-optimization/54457 ([x32] Fail to combine 64bit index + constant)

        PR rtl-optimization/54457
        * simplify-rtx.c (simplify_subreg):
Simplify (subreg:M (op:N ((x:N) (y:N)), 0)
      to (op:M (subreg:M (x:N) 0) (subreg:M (x:N) 0)), where
the outer subreg is effectively a truncation to the original mode M.

testsuite/ChangeLog:

        PR rtl-optimization/54457
        * gcc.target/i386/pr54457.c: New test.

From-SVN: r191928

12 years agobuiltins.def (ATTR_MATHFN_FPROUNDING): Do not use no-vops with -frounding-math.
Richard Guenther [Mon, 1 Oct 2012 14:15:00 +0000 (14:15 +0000)]
builtins.def (ATTR_MATHFN_FPROUNDING): Do not use no-vops with -frounding-math.

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

* builtins.def (ATTR_MATHFN_FPROUNDING): Do not use no-vops
with -frounding-math.
* builtin-attrs.def (ATTR_PURE_NOTHROW_NOVOPS_LIST): Remove.
(ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST): Likewise.

From-SVN: r191925

12 years agotree.h (copy_mem_ref_info): Delete.
Eric Botcazou [Mon, 1 Oct 2012 13:40:35 +0000 (13:40 +0000)]
tree.h (copy_mem_ref_info): Delete.

* tree.h (copy_mem_ref_info): Delete.
* tree-ssa-address.c (copy_mem_ref_info): Likewise.
(maybe_fold_tmr): Copy flags manually.
* tree-ssa-loop-im.c (simple_mem_ref_in_stmt): Rewrite.

From-SVN: r191924

12 years agosem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
Vincent Pucci [Mon, 1 Oct 2012 13:23:22 +0000 (13:23 +0000)]
sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.

2012-10-01  Vincent Pucci  <pucci@adacore.com>

* sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
(Resolve_Record_Aggregate): New_Copy_Tree calls replaced by
New_Copy_Tree_And_Copy_Dimensions calls. Move_Dimensions call
replaced by Copy_Dimensions call.
* sem_dim.adb (Analyze_Dimension_Component_Declaration): Don't
remove the dimensions of expression in component declaration anymore.
(Copy_Dimensions): New routine.
(Move_Dimensions): Add call to Copy_Dimensions.
* sem_dim.ads (Copy_Dimensions): New routine.
(Move_Dimensions): Spec moved to body of Sem_Dim.

From-SVN: r191922

12 years ago[multiple changes]
Arnaud Charlet [Mon, 1 Oct 2012 13:21:34 +0000 (15:21 +0200)]
[multiple changes]

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

* checks.adb (Apply_Predicate_Check): If the predicate is a
static one and the operand is static, evaluate the predicate at
compile time.
* sem_eval.ads, sem_eval.adb (Eval_Static_Predicate_Check): new
procedure, to evaluate a static predicate check whenever possible.
* sem_res.adb (Resolve_Type_Conversion): Apply predicate check
on the conversion if the target type has predicates.

2012-10-01  Vincent Pucci  <pucci@adacore.com>

* sem_dim.adb (Has_Symbols): Complain if parameter Symbol has been
provided by the user in the dimension output call.

From-SVN: r191921

12 years ago[multiple changes]
Arnaud Charlet [Mon, 1 Oct 2012 13:18:22 +0000 (15:18 +0200)]
[multiple changes]

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

* checks.adb (Apply_Divide_Checks): New name for
Apply_Divide_Check (Minimize_Eliminate_Overflow_Checks):
Add code to handle division (and rem and mod) properly.
(Apply_Division_Check): New procedure (Apply_Divide_Checks):
Use Apply_Division_Check (Apply_Divide_Checks): Use
Apply_Arithmetic_Overflow_Minimized_Eliminated.
* checks.ads (Apply_Divide_Checks): New name for
Apply_Divide_Check, also add clearer documentation for this
routine and put in alfa order.
* exp_ch4.adb (Apply_Divide_Checks): New name for
Apply_Divide_Check.
* s-bignum.adb (To_Bignum): Handle largest negative integer
properly.
* sem.adb (Analyze): Handle overflow suppression correctly
(Analyze_List): Handle overflow suppression correctly
* sem_res.adb (Analyze_And_Resolve): Handle overflow suppression
correctly.

2012-10-01  Vasiliy Fofanov  <fofanov@adacore.com>

* s-oscons-tmplt.c, g-socket.ads: Revert previous change, breaks VMS.

From-SVN: r191920

12 years ago[multiple changes]
Arnaud Charlet [Mon, 1 Oct 2012 13:15:21 +0000 (15:15 +0200)]
[multiple changes]

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

* checks.adb (Minimize_Eliminate_Overflow_Checks): Changes
for exponentiation.
* exp_ch4.adb (Expand_N_Op_Expon): Changes for Minimize/Eliminate
overflow checks.
* s-bignum.adb (Compare): Fix bad precondition.

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

* sem_ch3.adb (Build_Derived_Record_Type): If the derived
type has new discriminantss that constrain inherited ones, use
the discriminant type in the original declaration to check for
conformance, because in the presence of array components with a
smaller range that are constrained by the origina discriminant,
the compiler will have created a narrower subtype for that
discriminant.

From-SVN: r191919

12 years agochecks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): Handle case of appearing...
Robert Dewar [Mon, 1 Oct 2012 13:12:26 +0000 (13:12 +0000)]
checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): Handle case of appearing in range in membership test.

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

* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
Handle case of appearing in range in membership test.
* exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
New procedure (Expand_N_In): Use
Expand_Membership_Minimize_Eliminate_Overflow.
* rtsfind.ads: Add RE_Bignum_In_LLI_Range.
* s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function.
* sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag.

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

* uintp.ads: Minor reformatting.

From-SVN: r191918

12 years ago* gcc.dg/lower-subreg-1.c: Disable on arm*-*-* targets.
Ulrich Weigand [Mon, 1 Oct 2012 12:24:04 +0000 (12:24 +0000)]
* gcc.dg/lower-subreg-1.c: Disable on arm*-*-* targets.

From-SVN: r191917

12 years agochecks.adb: Improve warning message.
Ed Schonberg [Mon, 1 Oct 2012 10:24:00 +0000 (10:24 +0000)]
checks.adb: Improve warning message.

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

* checks.adb: Improve warning message.

From-SVN: r191915