platform/upstream/gcc.git
12 years ago* config/os/mingw32-w64/os_defines.h (__USE_MINGW_ANSI_STDIO): Define.
Kai Tietz [Fri, 23 Dec 2011 17:23:38 +0000 (18:23 +0100)]
* config/os/mingw32-w64/os_defines.h (__USE_MINGW_ANSI_STDIO): Define.

From-SVN: r182660

12 years ago* include/c_global/cinttypes: Update comments that refer to TR1.
Jonathan Wakely [Fri, 23 Dec 2011 17:20:44 +0000 (17:20 +0000)]
* include/c_global/cinttypes: Update comments that refer to TR1.

From-SVN: r182659

12 years agore PR libstdc++/49204 ([C++0x] remaining issues in <future>)
Jonathan Wakely [Fri, 23 Dec 2011 16:10:48 +0000 (16:10 +0000)]
re PR libstdc++/49204 ([C++0x] remaining issues in <future>)

PR libstdc++/49204
* include/std/future (future_errc): Implement LWG 2056.

From-SVN: r182658

12 years agoneon.md (float<mode><V_cvtto>2): New.
Dmitry Plotnikov [Fri, 23 Dec 2011 13:53:17 +0000 (13:53 +0000)]
neon.md (float<mode><V_cvtto>2): New.

2011-12-23  Dmitry Plotnikov  <dplotnikov@ispras.ru>

* config/arm/neon.md (float<mode><V_cvtto>2): New.
(floatuns<mode><V_cvtto>2): New.
(fix_trunc<mode><V_cvtto>2): New.
(fix_truncuns<mode><V_cvtto>2): New.
* config/arm/iterators.md (V_cvtto): New iterator.

gcc/testsuite/:
* gcc.target/arm/vect-vcvt.c: New test.
* gcc.target/arm/vect-vcvtq.c: New test.

* gcc.dg/vect/fast-math-pr35982.c: Added vect_strided2 alternative
in final check.

* lib/target-supports.exp (check_effective_target_vect_intfloat_cvt):
True for ARM NEON.
(check_effective_target_vect_uintfloat_cvt): Likewise.
(check_effective_target_vect_floatuint_cvt): Likewise.
(check_effective_target_vect_floatint_cvt): Likewise.

From-SVN: r182657

12 years ago[multiple changes]
Arnaud Charlet [Fri, 23 Dec 2011 09:36:49 +0000 (10:36 +0100)]
[multiple changes]

2011-12-23  Pascal Obry  <obry@adacore.com>

* prj.ads (For_Every_Project_Imported): Add In_Aggregate_Lib
parameter to generic formal procedure.
* prj.adb (For_Every_Project_Imported): Update accordingly.
(Recursive_Check): Likewise. Do not parse imported project for
aggregate library. This is needed as the imported projects are
there just to handle dependencies.
(Look_For_Sources): Likewise.
(Recursive_Add): Likewise.
* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb:
Add In_Aggregate_Lib parameter to routines used with
For_Every_Project_Imported generic procedure.
* prj-nmsc.adb (Tree_Processing_Data): Add In_Aggregate_Lib field.
(Check): Move where it is used. Fix implementation
to not check libraries that are inside aggregate libraries.
(Recursive_Check): Add In_Aggregate_Lib parameter.

2011-12-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch7.adb (Analyze_Package_Body, Has_Referencer): A generic
package is a referencer regardless of whether there is a
subsequent subprogram with an Inline pragma.

2011-12-23  Geert Bosch  <bosch@adacore.com>

* sem_ch3.adb (Can_Derive_From): Check matching Float_Rep on VMS.

From-SVN: r182656

12 years agognatcmd.adb, [...]: Minor reformatting.
Pascal Obry [Fri, 23 Dec 2011 09:34:21 +0000 (09:34 +0000)]
gnatcmd.adb, [...]: Minor reformatting.

2011-12-23  Pascal Obry  <obry@adacore.com>

* gnatcmd.adb, prj.adb, prj-nmsc.adb: Minor reformatting.

From-SVN: r182655

12 years agore PR rtl-optimization/50396 (SSE division by zero generates incorrect code with...
Richard Guenther [Fri, 23 Dec 2011 09:10:18 +0000 (09:10 +0000)]
re PR rtl-optimization/50396 (SSE division by zero generates incorrect code with optimizations enabled)

2011-12-23  Richard Guenther  <rguenther@suse.de>

PR rtl-optimization/50396
* simplify-rtx.c (simplify_binary_operation_1): Properly
guard code that only works for integers.

* gcc.dg/torture/pr50396.c: New testcase.

From-SVN: r182653

12 years agovms-crtlmap.map (log10): Fix typo.
Tristan Gingold [Fri, 23 Dec 2011 08:27:22 +0000 (08:27 +0000)]
vms-crtlmap.map (log10): Fix typo.

2011-12-23  Tristan Gingold  <gingold@adacore.com>

* config/vms/vms-crtlmap.map (log10): Fix typo.

From-SVN: r182652

12 years agovms.h (SUPPORTS_ONE_ONLY): Define.
Tristan Gingold [Fri, 23 Dec 2011 08:24:42 +0000 (08:24 +0000)]
vms.h (SUPPORTS_ONE_ONLY): Define.

2011-12-23  Tristan Gingold  <gingold@adacore.com>

* config/ia64/vms.h (SUPPORTS_ONE_ONLY): Define.

From-SVN: r182651

12 years agore PR tree-optimization/43491 (Unnecessary temporary for global register variable)
Bin Cheng [Fri, 23 Dec 2011 05:43:09 +0000 (05:43 +0000)]
re PR tree-optimization/43491 (Unnecessary temporary for global register variable)

2011-12-22  Bin Cheng  <bin.cheng@arm.com>
Richard Guenther  <rguenther@suse.de>

PR tree-optimization/43491
* tree-ssa-pre.c (eliminate): Don't replace global register
variable when it is the RHS of a single assign.

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

Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r182650

12 years agotoplev.c (process_options): Fix typo.
Joey Ye [Fri, 23 Dec 2011 02:18:17 +0000 (02:18 +0000)]
toplev.c (process_options): Fix typo.

2011-12-22  Joey Ye  <joey.ye@arm.com>

    * toplev.c (process_options): Fix typo.

From-SVN: r182649

12 years agoCommit missing log entry.
John David Anglin [Fri, 23 Dec 2011 02:17:39 +0000 (02:17 +0000)]
Commit missing log entry.

From-SVN: r182648

12 years agore PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))
John David Anglin [Fri, 23 Dec 2011 02:10:52 +0000 (02:10 +0000)]
re PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))

PR testsuite/50722
gcc.dg/pr49994-3.c: xfail on hppa*-*-*.

From-SVN: r182647

12 years agore PR middle-end/51252 (FAIL: c-c++-common/tm/freq.c (internal compiler error))
John David Anglin [Fri, 23 Dec 2011 01:53:13 +0000 (01:53 +0000)]
re PR middle-end/51252 (FAIL: c-c++-common/tm/freq.c (internal compiler error))

PR middle-end/51252
* config/pa/pa.c (pa_som_tm_clone_table_section): New function.
(som_tm_clone_table_section): Declare.
(pa_file_start_space): Create $TM_CLONE_TABLE$ subspace.
(pa_som_asm_init_sections): Init som_tm_clone_table_section.
* config/pa/som.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define.

From-SVN: r182646

12 years agoregex.h (match_results::size_type): Use allocator_traits.
Jonathan Wakely [Fri, 23 Dec 2011 01:47:41 +0000 (01:47 +0000)]
regex.h (match_results::size_type): Use allocator_traits.

* include/bits/regex.h (match_results::size_type): Use
allocator_traits.

From-SVN: r182645

12 years agoDaily bump.
GCC Administrator [Fri, 23 Dec 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182644

12 years agotm.texi.in (TARGET_PREPARE_PCH_SAVE): New hook.
Richard Sandiford [Thu, 22 Dec 2011 21:28:40 +0000 (21:28 +0000)]
tm.texi.in (TARGET_PREPARE_PCH_SAVE): New hook.

gcc/
* doc/tm.texi.in (TARGET_PREPARE_PCH_SAVE): New hook.
* doc/tm.texi: Regenerate.
* target.def (prepare_pch_save): New hook.
* c-family/c-pch.c (c_common_write_pch): Call it.
* config/mips/mips.c (was_mips16_pch_p): Delete.
(mips_set_mips16_mode): Don't refer to was_mips16_pch_p.
(mips_prepare_pch_save): New function.
(TARGET_PREPARE_PCH_SAVE): Define.

From-SVN: r182640

12 years agogo-gcc.cc (set_placeholder_pointer_type): Arrange for the type name to have a DECL_OR...
Ian Lance Taylor [Thu, 22 Dec 2011 20:49:18 +0000 (20:49 +0000)]
go-gcc.cc (set_placeholder_pointer_type): Arrange for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.

* go-gcc.cc (set_placeholder_pointer_type): Arrange for the type
name to have a DECL_ORIGINAL_TYPE as gcc expects.
(set_placeholder_struct_type): Likewise.
(set_placeholder_array_type): Likewise.
(named_type): Set DECL_ORIGINAL_TYPE.

From-SVN: r182639

12 years agoPR 51646 Use POSIX mode flags in open() argument.
Janne Blomqvist [Thu, 22 Dec 2011 20:44:32 +0000 (22:44 +0200)]
PR 51646 Use POSIX mode flags in open() argument.

2011-12-22  Janne Blomqvist  <jb@gcc.gnu.org>
Tobias Burnus  <burnus@net-b.de>

PR libfortran/51646
* acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Use POSIX mode
flags, omit mode argument when flags argument does not have
O_CREAT.
* io/unix.c (tempfile): Use POSIX mode flags.
* configure: Regenerate.

Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r182638

12 years agolibgo: Use -std=gnu99 on Solaris 10.
Ian Lance Taylor [Thu, 22 Dec 2011 20:39:29 +0000 (20:39 +0000)]
libgo: Use -std=gnu99 on Solaris 10.

From Rainer Orth.

From-SVN: r182637

12 years agore PR middle-end/51212 (ICE: verify_flow_info failed: BB 3 can not throw but has...
Aldy Hernandez [Thu, 22 Dec 2011 20:18:11 +0000 (20:18 +0000)]
re PR middle-end/51212 (ICE: verify_flow_info failed: BB 3 can not throw but has an EH edge with -fgnu-tm -fnon-call-exceptions and transaction_callable)

PR middle-end/51212
* opts.c (finish_options): Call sorry on -fgnu-tm and
-fnon-call-exceptions combination.

From-SVN: r182636

12 years agoruntime: Fix missing USING_SPLIT_STACK ifdef.
Ian Lance Taylor [Thu, 22 Dec 2011 19:07:12 +0000 (19:07 +0000)]
runtime: Fix missing USING_SPLIT_STACK ifdef.

From Uros Bizjak.

From-SVN: r182633

12 years agore PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)
Jonathan Wakely [Thu, 22 Dec 2011 18:58:15 +0000 (18:58 +0000)]
re PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)

PR libstdc++/48362
* testsuite/libstdc++-prettyprinters/48362.cc: New.

From-SVN: r182632

12 years agoinvoke.texi (C++ Dialect Options): Add missing options and move -Wzero-as-null-pointe...
Jonathan Wakely [Thu, 22 Dec 2011 17:52:36 +0000 (17:52 +0000)]
invoke.texi (C++ Dialect Options): Add missing options and move -Wzero-as-null-pointer-constant to ...

2011-12-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/invoke.texi (C++ Dialect Options): Add missing options and
move -Wzero-as-null-pointer-constant to ...
(Warning Options): ... here.

From-SVN: r182631

12 years agore PR target/47643 (x86 -mtune docs still imply i386 is the default for codegen)
Jonathan Wakely [Thu, 22 Dec 2011 17:35:05 +0000 (17:35 +0000)]
re PR target/47643 (x86 -mtune docs still imply i386 is the default for codegen)

PR target/47643
* doc/invoke.texi (i386 and x86-64 Options): Fix description of
-mtune without -march.

From-SVN: r182630

12 years agore PR target/51643 (Incorrect code produced for tail-call of weak function with ...
Richard Earnshaw [Thu, 22 Dec 2011 17:31:50 +0000 (17:31 +0000)]
re PR target/51643 (Incorrect code produced for tail-call of weak function with -O2/-O3 option)

PR target/51643
* arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous
change.

From-SVN: r182628

12 years agoia64.c (ia64_promote_function_mode): Remove.
Tristan Gingold [Thu, 22 Dec 2011 16:40:11 +0000 (16:40 +0000)]
ia64.c (ia64_promote_function_mode): Remove.

2011-12-22  Tristan Gingold  <gingold@adacore.com>

* config/ia64/ia64.c (ia64_promote_function_mode): Remove.
(TARGET_PROMOTE_FUNCTION_MODE): Remove.
(ia64_function_value): Call promote_function_mode instead of
ia64_promote_function_mode.
* config/ia64/vms.h (PROMOTE_MODE): Define.
(TARGET_PROMOTE_FUNCTION_MODE): Define.

From-SVN: r182627

12 years agore PR rtl-optimization/27468 (sign-extending Alpha instructions not exploited)
Uros Bizjak [Thu, 22 Dec 2011 16:35:16 +0000 (17:35 +0100)]
re PR rtl-optimization/27468 (sign-extending Alpha instructions not exploited)

PR target/27468
* common/config/alpha/alpha-common.c (alpha_option_optimization_table):
Enable flag_ree at -O2 or higher.

From-SVN: r182626

12 years agore PR debug/51650 (LTO ICE in dwarf2out_finish, at dwarf2out.c:22501 while building...
Richard Guenther [Thu, 22 Dec 2011 15:28:24 +0000 (15:28 +0000)]
re PR debug/51650 (LTO ICE in dwarf2out_finish, at dwarf2out.c:22501 while building libxul)

2011-12-22  Richard Guenther  <rguenther@suse.de>

PR lto/51650
* lto.c (uniquify_nodes): Register TYPE_DECLs with the
debuginfo machinery.

* g++.dg/lto/pr51650-1_0.C: New testcase.
* g++.dg/lto/pr51650-2_0.C: Likewise.

From-SVN: r182625

12 years agotree-pass.h (pass_reload): Declare.
Bernd Schmidt [Thu, 22 Dec 2011 15:01:25 +0000 (15:01 +0000)]
tree-pass.h (pass_reload): Declare.

* tree-pass.h (pass_reload): Declare.
* ira.c (overall_cost_before, saved_flag_ira_share_spill_slots):
New global variables, moved out of ira.
(do_reload): New static function, split off from the second half
of ...
(ira): ... here.
(gate_ira): Remove.
(pass_ira): Use TV_IRA, set gate to NULL, and set flags to
TODO_dump_func.
(rest_of_handle_reload): New static function.
(pass_reload): New.

From-SVN: r182624

12 years agoi386-common.c (ix86_option_optimization_table): Move OPT_free processing from ...
Uros Bizjak [Thu, 22 Dec 2011 14:39:35 +0000 (15:39 +0100)]
i386-common.c (ix86_option_optimization_table): Move OPT_free processing from ...

* common/config/i386/i386-common.c (ix86_option_optimization_table):
Move OPT_free processing from ...
* config/i386/i386.c (ix86_option_override_internal):  ... here.

From-SVN: r182623

12 years agore PR target/51643 (Incorrect code produced for tail-call of weak function with ...
Richard Earnshaw [Thu, 22 Dec 2011 14:13:09 +0000 (14:13 +0000)]
re PR target/51643 (Incorrect code produced for tail-call of weak function with -O2/-O3 option)

PR target/51643
* arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a
weak function on bare-metal EABI targets.

* gcc.target/arm/sibcall-2.c: New test.

From-SVN: r182621

12 years agore PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)
Jonathan Wakely [Thu, 22 Dec 2011 12:33:15 +0000 (12:33 +0000)]
re PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)

PR libstdc++/48362
* python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle empty
tuples.

From-SVN: r182620

12 years ago[multiple changes]
Arnaud Charlet [Thu, 22 Dec 2011 11:52:00 +0000 (12:52 +0100)]
[multiple changes]

2011-12-22  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Create the objects
associated with exception handling unconditionally.
(Build_Adjust_Statements): Create the objects associated with
exception handling unconditionally.
(Build_Components): Create the objects associated with exception
handling unconditionally.
(Build_Finalize_Statements): Create the objects associated with
exception handling unconditionally.
(Build_Initialize_Statements): Create the objects associated with
exception handling unconditionally.
(Build_Object_Declarations): Set the proper location of the data
record when exception propagation is forbidden.

2011-12-22  Gary Dismukes  <dismukes@adacore.com>

* a-tienio.adb (Put): Test validity of Item parameters before
applying Image, and raise Constraint_Error for invalid values.

2011-12-22  Bob Duff  <duff@adacore.com>

* a-stwima.ads (Initialize,Adjust,Finalize): Add overriding indicators.
* a-ststio.ads (AFCB_Allocate,AFCB_Close,AFCB_Free,Read,Write): Add
overriding indicators.

From-SVN: r182619

12 years ago* s-osinte-hpux-dce.ads: Update header to GPLv3
Arnaud Charlet [Thu, 22 Dec 2011 11:48:21 +0000 (11:48 +0000)]
* s-osinte-hpux-dce.ads: Update header to GPLv3

From-SVN: r182618

12 years agoa-cohase.ads, [...]: Update to latest RM version.
Ed Schonberg [Thu, 22 Dec 2011 08:54:26 +0000 (08:54 +0000)]
a-cohase.ads, [...]: Update to latest RM version.

2011-12-22  Ed Schonberg  <schonberg@adacore.com>

* a-cohase.ads, a-cohase.adb: Update to latest RM version. Add
aspect Constant_Reference to set type, and corresponding
functions.
* a-cihama.ads, a-cihama.adb: Update to latest RM version. Add
function Reference to provide a proper element iterator construct
over indefinite maps.

2011-12-22  Ed Schonberg  <schonberg@adacore.com>

* exp_attr.adb (Expand_N_Attribute, case 'Access): Do not insert
implicit conversion on prefix of Unrestricted_Access when prefix
is an explicit dereference.

From-SVN: r182617

12 years ago[multiple changes]
Arnaud Charlet [Thu, 22 Dec 2011 08:49:14 +0000 (09:49 +0100)]
[multiple changes]

2011-12-22  Vincent Pucci  <pucci@adacore.com>

* sem_dim.adb: Addressed all ??? comments. Replacement of warnings by
errors using continuation marks.
(Error_Dim_Msg_For_?): Renaming of Error_Dim_For_?.

2011-12-22  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_ch3.ads, sem_prag.adb: Minor code clean up.

From-SVN: r182616

12 years agore PR testsuite/51645 (FAIL: g++.dg/cpp0x/alias-decl-debug-0.C (test for excess errors))
Uros Bizjak [Thu, 22 Dec 2011 08:16:12 +0000 (09:16 +0100)]
re PR testsuite/51645 (FAIL: g++.dg/cpp0x/alias-decl-debug-0.C (test for excess errors))

PR testsuite/51645
* g++.dg/cpp0x/alias-decl-debug-0.C: Add dg-skip-if.

From-SVN: r182615

12 years agoDaily bump.
GCC Administrator [Thu, 22 Dec 2011 00:19:15 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r182613

12 years ago* config/i386/morestack.S: Simplify CFI opcodes throughout.
Ian Lance Taylor [Thu, 22 Dec 2011 00:09:39 +0000 (00:09 +0000)]
* config/i386/morestack.S: Simplify CFI opcodes throughout.

From-SVN: r182609

12 years agoextend.texi (__builtin_expect): Improve example.
Jonathan Wakely [Thu, 22 Dec 2011 00:08:09 +0000 (00:08 +0000)]
extend.texi (__builtin_expect): Improve example.

2011-12-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
    Jim Avera  <james_avera@yahoo.com>

* doc/extend.texi (__builtin_expect): Improve example.

Co-Authored-By: Jim Avera <james_avera@yahoo.com>
From-SVN: r182608

12 years agoruntime: Catch signals on altstack, disable splitstack signal blocking.
Ian Lance Taylor [Wed, 21 Dec 2011 22:24:47 +0000 (22:24 +0000)]
runtime: Catch signals on altstack, disable splitstack signal blocking.

From-SVN: r182607

12 years agoi386.c (ix86_option_override_internal): Enable flag_ree also for 32bit targets.
Uros Bizjak [Wed, 21 Dec 2011 20:56:30 +0000 (21:56 +0100)]
i386.c (ix86_option_override_internal): Enable flag_ree also for 32bit targets.

* config/i386/i386.c (ix86_option_override_internal): Enable flag_ree
also for 32bit targets.

testsuite/ChangeLog:

* gcc.dg/pr50038.c: Move to ...
* gcc.target/i386/pr50038.c: ... here.  Test on all targets.

From-SVN: r182605

12 years agore PR target/51552 (bfin generates bad assembly)
Richard Henderson [Wed, 21 Dec 2011 20:21:00 +0000 (12:21 -0800)]
re PR target/51552 (bfin generates bad assembly)

PR target/51552
        * dwarf2cfi.c (dwarf2out_frame_debug): Move any_cfis_emitted code...
        (scan_trace): ... here.

From-SVN: r182604

12 years agore PR c++/51611 ([c++0x] ICE with non-static data member initializer and virtual...
Jason Merrill [Wed, 21 Dec 2011 19:19:47 +0000 (14:19 -0500)]
re PR c++/51611 ([c++0x] ICE with non-static data member initializer and virtual base class)

PR c++/51611
* cp-tree.h (CONVERT_EXPR_VBASE_PATH): New.
* class.c (build_base_path): Defer vbase conversion in an NSDMI.
* tree.c (bot_replace): Expand it here.
* cp-gimplify.c (cp_genericize_r): Make sure deferred conversion
doesn't leak into GENERIC.

From-SVN: r182602

12 years ago* doc/standards.texi (C++ language): Update for C++11.
Jason Merrill [Wed, 21 Dec 2011 17:53:58 +0000 (12:53 -0500)]
* doc/standards.texi (C++ language): Update for C++11.

From-SVN: r182599

12 years agoAdd reference to PR middle-end/48660
Richard Sandiford [Wed, 21 Dec 2011 16:34:41 +0000 (16:34 +0000)]
Add reference to PR middle-end/48660

From-SVN: r182595

12 years agore PR c++/51305 ([C++11][constexpr] noexcept-specifier overconstraints constexpr...
Paolo Carlini [Wed, 21 Dec 2011 16:28:08 +0000 (16:28 +0000)]
re PR c++/51305 ([C++11][constexpr] noexcept-specifier overconstraints constexpr functions)

/cp
2011-12-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51305
* semantics.c (massage_constexpr_body): Reorder conditionals, make
sure a BIND_EXPR embedded in a MUST_NOT_THROW_EXPR is handled.

/testsuite
2011-12-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51305
* g++.dg/cpp0x/constexpr-noexcept6.C: New.

From-SVN: r182594

12 years agoMakefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
Jakub Jelinek [Wed, 21 Dec 2011 16:14:11 +0000 (17:14 +0100)]
Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.

* Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
* Makefile.in: Regenerated.

From-SVN: r182593

12 years agoProvide CLOCK_REALTIME on Tru64 UNIX
Rainer Orth [Wed, 21 Dec 2011 16:08:19 +0000 (16:08 +0000)]
Provide CLOCK_REALTIME on Tru64 UNIX

* s-oscons-tmplt.c [__alpha__ && __osf__] (_XOPEN_SOURCE): Define.

From-SVN: r182592

12 years agolto.c (GIMPLE_REGISTER_TYPE): New define.
Richard Guenther [Wed, 21 Dec 2011 15:56:11 +0000 (15:56 +0000)]
lto.c (GIMPLE_REGISTER_TYPE): New define.

2011-12-21  Richard Guenther  <rguenther@suse.de>

lto/
* lto.c (GIMPLE_REGISTER_TYPE): New define.
(LTO_FIXUP_TREE): Use it.
(uniquify_nodes): Mark new non-prevailing types and avoid
calling gimple_register_type on others.
(lto_read_decls): Add comment.

From-SVN: r182591

12 years agotree-vect-patterns.c (vect_operation_fits_smaller_type): Initialize *op0 and *op1...
Jakub Jelinek [Wed, 21 Dec 2011 14:52:34 +0000 (15:52 +0100)]
tree-vect-patterns.c (vect_operation_fits_smaller_type): Initialize *op0 and *op1 to NULL_TREE first to avoid warnings.

* tree-vect-patterns.c (vect_operation_fits_smaller_type): Initialize
*op0 and *op1 to NULL_TREE first to avoid warnings.
* calls.c (initialize_argument_information): Initialize base to avoid
warnings.

From-SVN: r182590

12 years agore PR middle-end/51644 (va_list vs. warning: ‘noreturn’ function does return is not...
Jakub Jelinek [Wed, 21 Dec 2011 14:51:19 +0000 (15:51 +0100)]
re PR middle-end/51644 (va_list vs. warning: â€˜noreturn’ function does return is not fixable)

PR middle-end/51644
PR middle-end/51647
* tree-eh.c (decide_copy_try_finally): At -O0, return true
even when ndests is not 1, if there are only gimple_clobber_p
(or debug) stmts in the finally sequence.
* tree-inline.c (estimate_num_insns): Return 0 for gimple_clobber_p
stmts.

* gcc.dg/pr51644.c: New test.
* g++.dg/warn/Wreturn-4.C: New test.

From-SVN: r182589

12 years agore PR middle-end/51472 (ICE: verify_gimple failed: invalid rhs for gimple memory...
Aldy Hernandez [Wed, 21 Dec 2011 14:30:07 +0000 (14:30 +0000)]
re PR middle-end/51472 (ICE: verify_gimple failed: invalid rhs for gimple memory store with -fgnu-tm --param tm-max-aggregate-size=32)

        PR middle-end/51472
        * trans-mem.c (tm_log_add): Use create_tmp_var_reg.

From-SVN: r182588

12 years agosem_ch3.ads, [...] (Check_CPP_Type): New subprogram.
Javier Miranda [Wed, 21 Dec 2011 13:54:55 +0000 (13:54 +0000)]
sem_ch3.ads, [...] (Check_CPP_Type): New subprogram.

2011-12-21  Javier Miranda  <miranda@adacore.com>

* sem_ch3.ads, sem_ch3.adb (Check_CPP_Type): New subprogram.
(Process_Full_View): Invoke Check_CPP_Type if processing the
full-view of a CPP type.
* sem_prag.adb (Process_Import_Or_Interface): Add missing support
for importing a CPP type that has an incomplete declaration. Move
to new routine Check_CPP_Type the code that verifies that
components of imported CPP types do not have default expressions.

From-SVN: r182587

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 13:51:03 +0000 (14:51 +0100)]
[multiple changes]

2011-12-21  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Report_No_Sources): Remove argument Lang. Report
no sources even for languages that are not allowed.
(Add_Source): Get the source even when the language is not allowed.

2011-12-21  Robert Dewar  <dewar@adacore.com>

* sem_ch6.adb (Process_Formals): Add defensive code.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

* sem_ch7.adb, sem_ch13.adb (Analyze_Package_Specification): Build the
invariant procedure of a type declaration that is a completion and has
aspect specifications.
(Build_Invariant_Procedure): If the procedure is built for a
type declaration that is a completion, analyze body expliitly
because all private declarations have been already analyzed.

2011-12-21  Claire Dross  <dross@adacore.com>

* a-cfdlli.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
a-cofove.adb: Minor reformating on formal containers

2011-12-21  Vincent Celier  <celier@adacore.com>

* makeutl.adb (Mains.Complete_Mains.Do_Complete): Remove
any main that is not in the list of restricted languages.
(Insert_Project_Sources.Do_Insert): Only add sources of languages
in the list of restricted languages.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Valid_Conversion): A type conversion is valid when
the target type is an anonymous access type and the operand is a
rewriting of an allocator. The conversion is typically inserted
when the designated type is an interface.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

* exp_ch9.adb (Establish_Task_Master): If the enclosing block
has no declarations, create new declarative list for it.

2011-12-21  Matthew Heaney  <heaney@adacore.com>

* a-rbtgbk.adb (Generic_Conditional_Insert): Fixed incorrect comment.

From-SVN: r182586

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 13:45:42 +0000 (14:45 +0100)]
[multiple changes]

2011-12-21  Yannick Moy  <moy@adacore.com>

* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
ignore representation attributes in Alfa mode, since formal
verification backend does not depend on actual physical
representation, but code may still refer to attribute values.

2011-12-21  Yannick Moy  <moy@adacore.com>

* par-ch13.adb (P_Aspect_Specifications): Recognize the cases
where a comma between two aspects is missing, or erroneously
replaced by a semicolon, issue an error and proceed with next
aspect.
* par.adb, sinfo.ads: Fix typos.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Mark_Coextensions): A coextension for an
object that is part of the expression in a return statement,
or part of the return object in an extended return statement,
must be allocated dynamically.

From-SVN: r182585

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 13:42:22 +0000 (14:42 +0100)]
[multiple changes]

2011-12-21  Matthew Heaney  <heaney@adacore.com>

* a-crbtgk.adb (Generic_Conditional_Insert): Fixed incorrect comment.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specification): If the name
of an element iterator is not an entity name we introduce a
local renaming declaration for it. To prevent spurious warnings
on parameterless function calls that return a container, when
expansion is disabled (either explicitly or because of a previous
errors) the name must be marked as not coming from source.

2011-12-21  Arnaud Charlet  <charlet@adacore.com>

* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Separate
handling in CodePeer mode and only ignore Component_Size
attribute.

2011-12-21  Robert Dewar  <dewar@adacore.com>

* sem_ch6.adb (Process_Formals): Set proper mechanism for
formals whose types have conventions Ada_Pass_By_Copy or
Ada_Pass_By_Reference.

From-SVN: r182584

12 years agono-section-anchors-vect-31.c: Adjust array size and test diag-scans to fix fail on...
Michael Zolotukhin [Wed, 21 Dec 2011 13:34:40 +0000 (13:34 +0000)]
no-section-anchors-vect-31.c: Adjust array size and test diag-scans to fix fail on AVX.

gcc/testsuite

        * gcc.dg/vect/no-section-anchors-vect-31.c: Adjust array size and test
        diag-scans to fix fail on AVX.
        * gcc.dg/vect/no-section-anchors-vect-36.c: Ditto.
        * gcc.dg/vect/no-section-anchors-vect-64.c: Ditto.
        * gcc.dg/vect/no-section-anchors-vect-66.c: Ditto.
        * gcc.dg/vect/no-section-anchors-vect-68.c: Ditto.
        * gcc.dg/vect/no-section-anchors-vect-69.c: Ditto.
        * gcc.dg/vect/no-vfa-vect-dv-2.c: Adjust dg-scans.
        * gcc.dg/vect/pr45752.c: Ditto.
        * gcc.dg/vect/slp-perm-4.c: Ditto.
        * gcc.dg/vect/slp-perm-9.c: Ditto.
        * gcc.dg/vect/vect-33.c: Ditto.
        * gcc.dg/vect/vect-35.c: Ditto.
        * gcc.dg/vect/vect-6-big-array.c: Ditto.
        * gcc.dg/vect/vect-6.c: Ditto.
        * gcc.dg/vect/vect-91.c: Ditto.
        * gcc.dg/vect/vect-all-big-array.c: Ditto.
        * gcc.dg/vect/vect-all.c: Ditto.
        * gcc.dg/vect/vect-multitypes-1.c: Ditto.
        * gcc.dg/vect/vect-outer-4c.c: Ditto.
        * gcc.dg/vect/vect-outer-5.c: Ditto.
        * gcc.dg/vect/vect-over-widen-1.c: Ditto.
        * gcc.dg/vect/vect-over-widen-3.c: Ditto.
        * gcc.dg/vect/vect-over-widen-4.c: Ditto.
        * gcc.dg/vect/vect-peel-1.c: Ditto.
        * gcc.dg/vect/vect-peel-2.c: Ditto.
        * gcc.dg/vect/vect-peel-3.c: Ditto.
        * gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
        * gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
        * gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
        * gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Ditto.
        * lib/target-supports.exp (check_avx_available): New function.
        (check_effective_target_vect_sizes_32B_16B): Ditto.
        (check_prefer_avx128): Ditto.
        (check_effective_target_vect_aligned_arrays): Add handling of AVX.
        (check_effective_target_vect_multiple_sizes): Ditto.

From-SVN: r182583

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 13:34:12 +0000 (14:34 +0100)]
[multiple changes]

2011-12-21  Arnaud Charlet  <charlet@adacore.com>

* gnat1drv.adb (Gnat1Drv): Always delete old scil files in
CodePeer mode.

2011-12-21  Robert Dewar  <dewar@adacore.com>

* comperr.adb: Minor reformatting.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

* aspects.ads: New table Base_Aspect, to indicate that an aspect
is defined on a base type.
* aspects.adb (Find_Aspect): If the aspect is a Base_Aspect,
examine the representation items of the base type.

2011-12-21  Pascal Obry  <obry@adacore.com>

* gnat_ugn.texi, prj.ads, prj-nmsc.adb, prj-attr.adb, projects.texi,
snames.ads-tmpl: Use Encapsulated instead of Fully Standalone library.

2011-12-21  Pascal Obry  <obry@adacore.com>

* adaint.c (__gnat_is_executable_file_attr) [_WIN32]: Add parentheses
to kill warning.

From-SVN: r182582

12 years agotree-into-ssa.c (rewrite_update_stmt): Do not dump extra newlines.
Martin Jambor [Wed, 21 Dec 2011 12:44:31 +0000 (13:44 +0100)]
tree-into-ssa.c (rewrite_update_stmt): Do not dump extra newlines.

2011-12-21  Martin Jambor  <mjambor@suse.cz>

* tree-into-ssa.c (rewrite_update_stmt): Do not dump extra newlines.
(rewrite_update_enter_block): Likewise.
(dump_update_ssa): Likewise.
(update_ssa): Likewise but also dump a newline at the beginning.

From-SVN: r182581

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 12:08:32 +0000 (13:08 +0100)]
[multiple changes]

2011-12-21  Arnaud Charlet  <charlet@adacore.com>

* comperr.adb (Delete_SCIL_Files): Also delete .scilx files.
Fix implementation for child packages and package specs.
(Delete_SCIL_Files.Decode_Name_Buffer): New function.

2011-12-21  Robert Dewar  <dewar@adacore.com>

* err_vars.ads, a-cdlili.adb, a-cfdlli.ads, prj.adb, prj-nmsc.adb,
a-cbdlli.adb, a-cbdlli.ads, a-cfdlli.adb: Minor reformatting.

2011-12-21  Vincent Pucci  <pucci@adacore.com>

* s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads,
s-llflex.ads: Fix header.

From-SVN: r182578

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 12:03:53 +0000 (13:03 +0100)]
[multiple changes]

2011-12-21  Thomas Quinot  <quinot@adacore.com>

* thread.c, s-oscons-tmplt.c, init.c (pthread_condattr_setclock): For
AIX 5.2, define as a dummy weak symbol in init.c.
(CLOCK_RT_Ada): Set to CLOCK_MONOTONIC on all versions of AIX.

2011-12-21  Thomas Quinot  <quinot@adacore.com>

* snames.ads-tmpl, sem_ch8.adb: Minor reformatting.
* sem_prag.adb: Minor comment clarification.

2011-12-21  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Report_No_Sources): New argument Lang for the
language name as a Name_Id. Do not report no sources if language
is not allowed.
(Add_Source): Do not add source if language is not allowed.
* prj.adb (Add_Restricted_Language): New procedure
(Is_Allowed_Language): New function
* prj.ads (Add_Restricted_Language): New procedure
(Is_Allowed_Language): New function

From-SVN: r182577

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 12:01:28 +0000 (13:01 +0100)]
[multiple changes]

2011-12-21  Robert Dewar  <dewar@adacore.com>

* exp_ch5.adb, sem_dim.adb, sem_dim.ads, sem_ch12.adb, prj-conf.adb:
Minor reformatting.

2011-12-21  Claire Dross  <dross@adacore.com>

* a-cfdlli.ads (Constant_Indexing, Default_Iterator,
Iterator_Element): Added to type List.
(Not_No_Element, List_Iterator_Interfaces, Iterate,
Constant_Reference_Type, Constant_Reference): New.
* a-cfdlli.adb (type Iterator, Finalize, First, Last, Next,
Previous, Iterate, Not_No_Element, Constant_Reference): New.

From-SVN: r182576

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 11:53:33 +0000 (12:53 +0100)]
[multiple changes]

2011-12-21  Gary Dismukes  <dismukes@adacore.com>

* gnat_ugn.texi: Minor reformatting.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_Iterator_Loop): The cursor operation
Has_Element is the formal of Iterator_Interfaces, and within
the instantion of this package it is a renaming of some local
function with an unrelated name. Retrieve the operation from
the instance itself, not from the container package.

2011-12-21  Vincent Pucci  <pucci@adacore.com>

* exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
replaced by Expand_Put_Call_With_Dimension_Symbol
* sem_ch12.adb (Analyze_Package_Instantiation): New check for
System.Dim_Float_IO and System.Dim_Integer_IO instantiation.
* sem_ch3.adb (Analyze_Declarations): Removed
Remove_Dimension_In_Declaration call.
* sem_dim.adb: Update comments. Redefine the
representation of a Rational. Propagate all changes involving
data structures and types throughout the pakage. Output the
dimension aggregates for each error messages.
("/"): Rational constructor "/" removed for Whole operands.
("/"): New rational operation "/" for Rational operands.
("*"): Operation "*" between Rational and Int removed.
("abs"): New unary operator "abs" for Rational.
(Analyze_Aspect_Dimension_System): Reorganized.
(Analyze_Dimension_Identifier): Removed.
(Copy_Dimensions): Removed.
(Create_Rational_From_Expr): New Boolean parameter.
(Dimensions_Msg_Of): New routine. Return
a string with the dimensions of the parameter.
(From_Dimension_To_String_Of_Symbols): Renaming of
From_Dimension_To_String_Id.
* sem_dim.ads: Update comments.
(Is_Dim_IO_Package_Instantiation): New routine.
(Remove_Dimension_In_Declaration): Removed.
* sem_res.adb (Resolve_Op_Expon): Reorganized calls of
Eval_Op_Expon_For_Dimensioned_Type and Eval_Op_Expon.
* s-diflio.ads, s-diinio.ads: Update comments.

From-SVN: r182575

12 years agore PR target/50038 (redundant zero extensions)
Enkovich Ilya [Wed, 21 Dec 2011 11:52:27 +0000 (11:52 +0000)]
re PR target/50038 (redundant zero extensions)

gcc/

2011-12-21  Enkovich Ilya  <ilya.enkovich@intel.com>

        PR target/50038
        * implicit-zee.c: Delete.
        * ree.c: New file.
        * Makefile.in: Replace implicit-zee.c with ree.c.
        * config/i386/i386.c (ix86_option_override_internal): Rename
        flag_zee to flag_ree.
        * common.opt (fzee): Ignored.
        (free): New.
        * passes.c (init_optimization_passes): Replace pass_implicit_zee
        with pass_ree.
        * tree-pass.h (pass_implicit_zee): Delete.
        (pass_ree): New.
        * timevar.def (TV_ZEE): Delete.
        (TV_REE): New.
        * doc/invoke.texi: Add -free description.

gcc/testsuite/

2011-12-21  Enkovich Ilya  <ilya.enkovich@intel.com>

        PR target/50038

From-SVN: r182574

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 11:50:02 +0000 (12:50 +0100)]
[multiple changes]

2011-12-21  Pascal Obry  <obry@adacore.com>

* prj-attr.adb, snames.ads-tmpl: Add Library_Standalone,
Library_Fully_Standalone_Options and
Library_Fully_Standalone_Supported attributes.
* prj-nmsc.adb (Check_Library): Update check to take into
account fully standalone libraries. Such shared libraries can
only depend on static libraries.
(Check_Stand_Alone_Library): Add support for fully standalone libraries.
(Process_Project_Level_Simple_Attributes): Store value for
configuration attribute Library_Fully_Standalone_Supported.
* prj.ads, makeutl.adb (Standalone): New enumeration type.
(Project_Data): Standalone_Library now of type Standlone.
(Project_Configuration): Add Lib_Fully_Standalone_Supported
field.
(Default_Project_Config): Initialize new Lib_Fully_Standalone_Supported
field.
* clean.adb (Clean_Project): Adjust to new type for Standalone.
* make.adb (Library_Phase): Adjust to new type for Standalone.
(Gnatmake): Likewise.
* mlib-prj.adb (Build_Library): Adjust to new type for
Standalone.

2011-12-21  Thomas Quinot  <quinot@adacore.com>

* gnatls.adb (Gnatls): Call Set_Standard_Error at startup, and then
Set_Standard_Output just before producing normal (non-diagnostic)
output.
* gnatcmd.adb (Gnatcmd): Call Set_Standard_Error at initialization
(and again after parsing project files).

2011-12-21  Vincent Celier  <celier@adacore.com>

* prj-conf.adb (Do_Autoconf): When the object directory does
not exist, create auto.cgpr in the directory where temporary
files are created.

From-SVN: r182573

12 years agovms-protos.h (vms_function_section): New prototype.
Tristan Gingold [Wed, 21 Dec 2011 09:44:27 +0000 (09:44 +0000)]
vms-protos.h (vms_function_section): New prototype.

2011-12-21  Tristan Gingold  <gingold@adacore.com>

* config/vms/vms-protos.h (vms_function_section): New prototype.
* config/vms/vms.c (vms_function_section): New function.
* config/vms/vms.h (TARGET_ASM_FUNCTION_SECTION): Define.

From-SVN: r182571

12 years agore PR lto/41159 ([LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225)
Richard Guenther [Wed, 21 Dec 2011 09:22:58 +0000 (09:22 +0000)]
re PR lto/41159 ([LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225)

2011-12-21  Richard Guenther  <rguenther@suse.de>

PR lto/41159
* tree-outof-ssa.c (insert_value_copy_on_edge): Use the
mode of the pseudo as destination mode.  Only assert that
is equal to the promoted mode of the decl if it is a REG.

From-SVN: r182570

12 years agofde-vms.c (UNW_IVMS_MODE): Define.
Tristan Gingold [Wed, 21 Dec 2011 08:52:47 +0000 (08:52 +0000)]
fde-vms.c (UNW_IVMS_MODE): Define.

2011-12-21  Tristan Gingold  <gingold@adacore.com>

* config/ia64/fde-vms.c (UNW_IVMS_MODE): Define.

From-SVN: r182568

12 years agoxm-vms.h (STANDARD_EXEC_PREFIX): Remove define.
Tristan Gingold [Wed, 21 Dec 2011 08:42:12 +0000 (08:42 +0000)]
xm-vms.h (STANDARD_EXEC_PREFIX): Remove define.

2011-12-21  Tristan Gingold  <gingold@adacore.com>

* config/vms/xm-vms.h (STANDARD_EXEC_PREFIX): Remove define.

From-SVN: r182567

12 years agoia64: Implement vec_perm_const.
Richard Henderson [Wed, 21 Dec 2011 01:03:00 +0000 (17:03 -0800)]
ia64: Implement vec_perm_const.

        * config/ia64/ia64.c (MAX_VECT_LEN): New.
        (struct expand_vec_perm_d): New.
        (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
        (ia64_unpack_assemble): Use ia64_expand_vec_perm_const_1.
        (expand_vselect, expand_vselect_vconcat): New.
        (expand_vec_perm_identity, expand_vec_perm_shrp): New.
        (expand_vec_perm_1, expand_vec_perm_broadcast): New.
        (expand_vec_perm_interleave_2, expand_vec_perm_v4hi_5): New.
        (ia64_expand_vec_perm_const_1, ia64_expand_vec_perm_const): New.
        (ia64_vectorize_vec_perm_const_ok): New.
        (ia64_expand_vec_setv2sf, ia64_expand_vec_perm_even_odd): New.
        * config/ia64/ia64-protos.h: Update.
        * config/ia64/vect.md (VEC): New mode iterator.
        (vecint): New mode attribute.
        (vec_interleave_lowv8qi, vec_interleave_highv8qi): Privatize with '*'.
        (vec_interleave_lowv4hi, vec_interleave_highv4hi): Likewise.
        (vec_interleave_lowv2si, vec_interleave_highv2si): Likewise.
        (vec_interleave_lowv2sf, vec_interleave_highv2sf): Likewise.
        (mix1_even, mix1_odd, mux1_alt): Likewise.
        (mux1_brcst_qi): Remove '*' from name.
        (vec_extract_evenv8qi, vec_extract_oddv8qi): Remove.
        (vec_extract_evenv4hi, vec_extract_oddv4hi): Remove.
        (vec_extract_evenv2si, vec_extract_oddv2si): Remove.
        (vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
        (vec_extract_evenodd_helper): Remove.
        (vec_setv2sf): Use ia64_expand_vec_setv2sf.
        (vec_pack_trunc_v4hi): Use ia64_expand_vec_perm_even_odd.
        (vec_pack_trunc_v2si): Likewise.
        (vec_perm_const<VEC>): New.

From-SVN: r182564

12 years agoAlways simplify vector shifts by scalars.
Richard Henderson [Wed, 21 Dec 2011 00:41:24 +0000 (16:41 -0800)]
Always simplify vector shifts by scalars.

Also decompose vectors in large integer modes.

        * tree-vect-generic.c (expand_vector_operations_1): Correct tests
        for vector types -- use the type not the mode.  Fix optab selection
        for vector shifts by a scalar.  Handle over-large integer modes
        like BLKmode.

From-SVN: r182563

12 years agoarm: Split xorsi with constant after reload.
Richard Henderson [Wed, 21 Dec 2011 00:35:41 +0000 (16:35 -0800)]
arm: Split xorsi with constant after reload.

This puts xorsi3 in the same format as andsi3 and iorsi3.
This similarity fixes code generation issues with splitting
atomic_fetch_xor post-reload.

        * config/arm/arm.md (*arm_xorsi3): Match iorsi3 and perform
        post-reload splitting.

From-SVN: r182562

12 years agoarm: Use arm_cmpdi_unsigned for thumb2 as well
Richard Henderson [Wed, 21 Dec 2011 00:34:09 +0000 (16:34 -0800)]
arm: Use arm_cmpdi_unsigned for thumb2 as well

This changes code generation from "eors; eors; orrs" (which ranges
from 6 to 12 bytes and requires three scratch registers), to
"cmp; it; cmp" (which is always 6 bytes for register inputs and
requires no scratch registers).

        * config/arm/arm.md (*arm_cmpdi_unsigned): Enable for thumb2.
        * config/arm/arm.c (arm_select_cc_mode): Use it.

From-SVN: r182561

12 years agoDaily bump.
GCC Administrator [Wed, 21 Dec 2011 00:19:23 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r182560

12 years agore PR c++/51621 ([c++0x] [4.6/4.7 Regression] ICE with invalid constexpr and array...
Paolo Carlini [Tue, 20 Dec 2011 23:51:09 +0000 (23:51 +0000)]
re PR c++/51621 ([c++0x] [4.6/4.7 Regression] ICE with invalid constexpr and array class member)

/cp
2011-12-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51621
* tree.c (diagnose_non_constexpr_vec_init): For value initialization
pass void_type_node, not void_zero_node, to build_vec_init_elt.

/testsuite
2011-12-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51621
* g++.dg/cpp0x/constexpr-ice5.C: New.

From-SVN: r182556

12 years agomorestack.S (__morestack_non_split): If there is enough stack space already, don...
Ian Lance Taylor [Tue, 20 Dec 2011 22:34:30 +0000 (22:34 +0000)]
morestack.S (__morestack_non_split): If there is enough stack space already, don't split.

* config/i386/morestack.S (__morestack_non_split): If there is
enough stack space already, don't split.  Ask for more stack space
than we required.

From-SVN: r182555

12 years agotree-ssa-math-opts.c (convert_plusminus_to_widen): Restrict handling of signedness...
Richard Sandiford [Tue, 20 Dec 2011 21:33:48 +0000 (21:33 +0000)]
tree-ssa-math-opts.c (convert_plusminus_to_widen): Restrict handling of signedness differences to integer types.

gcc/
* tree-ssa-math-opts.c (convert_plusminus_to_widen): Restrict
handling of signedness differences to integer types.  Only build
a new optype if type1 isn't correct.

From-SVN: r182554

12 years agore PR target/49865 (Unnecessary reload causes small bloat)
Vladimir Makarov [Tue, 20 Dec 2011 21:29:36 +0000 (21:29 +0000)]
re PR target/49865 (Unnecessary reload causes small bloat)

2011-12-20  Vladimir Makarov  <vmakarov@redhat.com>

PR target/49865
* ira-costs.c (find_costs_and_classes): Prefer registers even
          if the memory cost is the same.

From-SVN: r182553

12 years agounwind-arm-common.inc: Include `tconfig.h', `tsystem.h' and `sys/sdt.h'.
Sergio Durigan Junior [Tue, 20 Dec 2011 20:54:25 +0000 (20:54 +0000)]
unwind-arm-common.inc: Include `tconfig.h', `tsystem.h' and `sys/sdt.h'.

2011-12-20  Sergio Durigan Junior  <sergiodj@redhat.com>

* unwind-arm-common.inc: Include `tconfig.h', `tsystem.h' and
`sys/sdt.h'.
(_Unwind_DebugHook): New function.
(uw_restore_core_regs): New define.
(unwind_phase2): Use uw_restore_core_regs instead of
restore_core_regs.
(unwind_phase2_forced): Likewise.
(__gnu_Unwind_Resume): Likewise.

From-SVN: r182552

12 years agogcc:
Joseph Myers [Tue, 20 Dec 2011 20:44:13 +0000 (20:44 +0000)]
gcc:

* c-decl.c (diagnose_mismatched_decls, grokdeclarator, grokfield)
(finish_struct): Refer to C11 in comments.  Use flag_isoc11.
* c-parser.c (c_parser_static_assert_declaration)
(c_parser_static_assert_declaration_no_semi, c_parser_declspecs)
(c_parser_alignas_specifier, c_parser_alignof_expression): Refer
to C11 in comments.  Use flag_isoc11.
* c-typeck.c (comptypes_check_different_types): Refer to C11 in
comment.
* doc/cpp.texi (Overview): Refer to -std=c11 instead of -std=c1x.
* doc/cppopts.texi (-std=c11, -std=gnu11): Document in preference
to -std=c1x and -std=gnu1x.
* doc/extend.texi (Inline, Alternate Keywords, Other Builtins)
(__builtin_complex, Unnamed Fields): Refer to -std=c11 and C11
instead of -std=c1x and C1X.
* doc/invoke.texi (-std=c11, -std=iso9899:2011): Document in
preference to -std=c1x.
(-std=gnu11): Document in preference to -std=gnu1x.
* doc/standards.texi: Document C11 instead of C1X.  Document C11
as actual standard.  Document headers required from freestanding
C11 implementations.
* ginclude/float.h, ginclude/stddef.h: Test __STDC_VERSION__ >=
201112L for C11.  Update comments to refer to C11.

gcc/c-family:
* c-common.c (flag_isoc99): Update comment to refer to C11.
(flag_isoc1x): Change to flag_isoc11.
* c-common.h (flag_isoc99): Update comment to refer to C11.
(flag_isoc1x): Change to flag_isoc11.
* c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
C11.
* c-opts.c (set_std_c1x): Change to set_std_c11.
(c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
Call set_std_c11.
(set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
(set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
* c.opt (std=c1x): Change to std=c11.  Document as non-draft
standard.
(std=c1x, std=iso9899:2011): Add as aliases of std=c11.
(std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
(std=gnu1x): Make alias of std=gnu11.

gcc/testsuite:
* gcc.dg/c11-version-1.c, gcc.dg/c11-version-2.c,
gcc.dg/c94-version-1.c, gcc.dg/c99-version-1.c,
gcc.dg/gnu11-version-1.c: New tests.

libcpp:
* include/cpplib.h (CLK_GNUC1X): Change to CLK_GNUC11.
(CLK_STDC1X): Change to CLK_STDC11.
* init.c (lang_defaults): Update comments.
(cpp_init_builtins): Update language tests.  Use 201112L for C11
__STDC_VERSION__.

From-SVN: r182551

12 years agolibgo/runtime: Don't define _GNU_SOURCE in source code.
Ian Lance Taylor [Tue, 20 Dec 2011 18:49:40 +0000 (18:49 +0000)]
libgo/runtime: Don't define _GNU_SOURCE in source code.

From-SVN: r182550

12 years agosyscall: Don't define IPMreq in socket_irix.go.
Ian Lance Taylor [Tue, 20 Dec 2011 18:17:21 +0000 (18:17 +0000)]
syscall: Don't define IPMreq in socket_irix.go.

From Rainer Orth.

From-SVN: r182549

12 years agolibgo: Fix use of -D_GNU_SOURCE and friends when building libgo.
Ian Lance Taylor [Tue, 20 Dec 2011 18:14:30 +0000 (18:14 +0000)]
libgo: Fix use of -D_GNU_SOURCE and friends when building libgo.

From-SVN: r182548

12 years agowarnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in expr call.
Andreas Schwab [Tue, 20 Dec 2011 16:54:12 +0000 (16:54 +0000)]
warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in expr call.

config/:
* warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in
expr call.
fixincludes/:
* configure: Regenerate.
gcc/:
* configure: Regenerate.
libcpp/:
* configure: Regenerate.
libdecnumber/:
* configure: Regenerate.
libiberty/:
* configure: Regenerate.
lto-plugin/:
* configure: Regenerate.

From-SVN: r182546

12 years agoexpr.c (store_field): Avoid a direct store if the mode is larger than the size of...
Bernd Schmidt [Tue, 20 Dec 2011 16:46:22 +0000 (16:46 +0000)]
expr.c (store_field): Avoid a direct store if the mode is larger than the size of the bit field.

gcc/
* expr.c (store_field): Avoid a direct store if the mode is larger
than the size of the bit field.
* stor-layout.c (layout_decl): If flag_strict_volatile_bitfields,
treat non-volatile bit fields like volatile ones.
* toplev.c (process_options): Disallow combination of
-fstrict-volatile-bitfields and ABI versions less than 2.
* config/arm/arm.c (arm_option_override): Don't enable
flag_strict_volatile_bitfields if the ABI version is less than 2.
* config/h8300/h8300.c (h8300_option_override): Likewise.
* config/rx/rx.c (rx_option_override): Likewise.
* config/m32c/m32c.c (m32c_option_override): Likewise.
* config/sh/sh.c (sh_option_override): Likewise.

gcc/testsuite/
* gcc.target/arm/volatile-bitfields-4.c: New test.
* c-c++-common/abi-bf.c: New test.

From-SVN: r182545

12 years ago[multiple changes]
Arnaud Charlet [Tue, 20 Dec 2011 14:09:26 +0000 (15:09 +0100)]
[multiple changes]

2011-12-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Insert_Freeze_Node_For_Instance):  Further
refinements on the placement of a freeze node for a package
instantiation, when the generic appears within a previous
instantiation in the same unit.If the current instance is within
the one that contains the generic, the freeze node for the
current one must appear in the current declarative part. Ditto
if the current instance is within another package instance. In
these cases the freeze node of the previous instance is is not
relevant. New predicate Enclosing_Body simplifies the process.
(Freeze_Subprogram_Body): Rename Enclosing_Body to
Enclosing_Package_Body, to prevent confusion with subprogram of
same name elsewhere.
(Install_Body): Recognize enclosing subprogram bodies to determine
whether freeze_node belongs in current declarative list.

2011-12-20  Robert Dewar  <dewar@adacore.com>

* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Allow
attribute definition clause for renaming if generated internally
and generate duplicate clause to apply to renamed object.
(Rep_Item_Too_Late): Only diagnose source level entities
* prj-nmsc.adb: Minor reformatting.
* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r182542

12 years ago[multiple changes]
Arnaud Charlet [Tue, 20 Dec 2011 14:04:19 +0000 (15:04 +0100)]
[multiple changes]

2011-12-20  Bob Duff  <duff@adacore.com>

* opt.ads (List_Inherited_Aspects): Default to False
(i.e. -gnatw.L is the default).
* usage.adb: Document new default for -gnatw.L.
* gnat_ugn.texi: Document -gnatw.l and -gnatw.L switches.
* warnsw.adb (Set_Warning_Switch): Do not include
List_Inherited_Aspects in -gnatwa.

2011-12-20  Ed Schonberg  <schonberg@adacore.com>

* checks.adb (Apply_Type_Conversion_Checks): For a discrete type
with predicates, indicate unconditionally that a range check
is needed.
* exp_ch4.adb (Expand_N_In): When the membership test is rewritten
to incorporate a call to a predicate function, analyze expression
with checks suppressed, to prevent infinite recursion.

From-SVN: r182540

12 years ago[multiple changes]
Arnaud Charlet [Tue, 20 Dec 2011 14:00:46 +0000 (15:00 +0100)]
[multiple changes]

2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch11.adb (Find_Local_Handler): Guard the
search over individual exception choices in case the list of
handlers contains other (possibly illegal) constructs.

2011-12-20  Gary Dismukes  <dismukes@adacore.com>

* sem_ch8.adb (Find_Type): Test taggedness
of the Available_Type when checking for an illegal use of an
incomplete type, when the incomplete view is a limited view of
a type. Remove redundant Is_Tagged test.

2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_util.adb: Add with and use clause for Aspects.
(Is_Finalizable_Transient): Objects which denote Ada containers
in the context of iterators are not considered transients. Such
object must live for as long as the loop is around.
(Is_Iterated_Container): New routine.

2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_imgv.adb (Expand_Width_Attribute): Add a
type conversion from the enumeration subtype to its base subtype.

From-SVN: r182539

12 years agoMinor reformatting.
Arnaud Charlet [Tue, 20 Dec 2011 13:56:21 +0000 (14:56 +0100)]
Minor reformatting.

From-SVN: r182538

12 years agosem_ch4.adb (Operator_Check): Update the call to Is_Dimensioned_Type.
Hristian Kirtchev [Tue, 20 Dec 2011 13:55:31 +0000 (13:55 +0000)]
sem_ch4.adb (Operator_Check): Update the call to Is_Dimensioned_Type.

2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch4.adb (Operator_Check): Update the call to
Is_Dimensioned_Type.
* sem_dim.adb: Remove with and use clause for Namet.Sp. Reorganize
all type declarations and datastructures involved. Propagate
all changes involving data structures and types throughout
the pakage. Alphabetize all subprograms. Add ??? comments.
(AD_Hash): Removed.
(Analyze_Aspect_Dimension): Rewritten. This
routine now does all its checks in one pass rather than
two. Refactor code. The error message are now in a more GNAT-ish style.
(Create_Rational_From_Expr): This is now a function.
(Get_Dimensions): Removed.
(Get_Dimensions_String_Id): Removed.
(Dimensions_Of): New rouitne.
(Exists): New routines.
(Is_Invalid): New routine.
(Permits_Dimensions): Removed.
(Present): Removed.
(Set_Symbol): New routine.
(System_Of): New routine.
* sem_dim.ads: Rewrite the top level description of the
package. Alphabetize subprograms. Add various comments on
subprogram usage. Add ??? comments.
(Is_Dimensioned_Type):
Renamed to Has_Dimension_System.
* sem_res.adb (Resolve_Op_Expon): Update the call to Is_Dimensioned_Type

From-SVN: r182537

12 years agosem_ch13.adb (Check_Indexing_Functions): The return type of an indexing function...
Ed Schonberg [Tue, 20 Dec 2011 13:53:42 +0000 (13:53 +0000)]
sem_ch13.adb (Check_Indexing_Functions): The return type of an indexing function can be the default element type...

2011-12-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Check_Indexing_Functions): The return type of an
indexing function can be the default element type, and does not
need to be a reference type.
* sem_ch4.adb (Try_Container_Indexing): Ditto.

From-SVN: r182536

12 years ago[multiple changes]
Arnaud Charlet [Tue, 20 Dec 2011 13:52:22 +0000 (14:52 +0100)]
[multiple changes]

2011-12-20  Robert Dewar  <dewar@adacore.com>

* a-cdlili.ads, sem_cat.adb, sem_ch10.adb: Minor reformatting.

2011-12-20  Bob Duff  <duff@adacore.com>

* s-taprop-mingw.adb (Yield): Do_Yield is no longer Unreferenced.

2011-12-20  Vincent Pucci  <pucci@adacore.com>

* impunit.adb: s-dimkio, s-dimmks and s-dmotpr defined as GNAT
Defined Additions to System.
* Makefile.rtl: s-dimkio, s-dimmks and s-dmotpr added.
* s-dimkio.ads, s-dimmks.ads, s-dmotpr.ads: New files.

2011-12-20  Gary Dismukes  <dismukes@adacore.com>

* sem_ch4.adb (Traverse_Homonyms): Allow a homonym to match when
within an instance, even if the homonym is marked Is_Hidden at
this point.

From-SVN: r182535

12 years ago[multiple changes]
Arnaud Charlet [Tue, 20 Dec 2011 13:47:44 +0000 (14:47 +0100)]
[multiple changes]

2011-12-20  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_ch5.adb, s-diinio.adb, s-diinio.ads, sem_dim.adb,
sem_dim.ads, sem_res.adb, s-stposu.adb, s-stposu.ads, sem_ch4.adb,
s-diflio.adb, s-diflio.ads, exp_disp.adb, s-llflex.ads: Minor
reformatting.
* aspects.ads: Dimension[_Aspects] are GNAT defined.

2011-12-20  Robert Dewar  <dewar@adacore.com>

* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
renaming case.

2011-12-20  Thomas Quinot  <quinot@adacore.com>

* sem_cat.adb, sem_ch10.adb (Analyze_With_Clause): For a WITH clause on
a child unit that is an illegal instantiation, mark the WITH clause in
error.
(Install_Siblings, Validate_Categorization_Dependency): Guard
against WITH clause marked as in error.

From-SVN: r182534

12 years agosem_res.adb (Resolve_Allocator): Warning on allocation of tasks on a subpool and...
Hristian Kirtchev [Tue, 20 Dec 2011 13:41:00 +0000 (13:41 +0000)]
sem_res.adb (Resolve_Allocator): Warning on allocation of tasks on a subpool and rewrite the allocator into a...

2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_res.adb (Resolve_Allocator): Warning on allocation
of tasks on a subpool and rewrite the allocator into a raise
Program_Error statement.
* s-stposu.ads, s-stposu.adb: Code reformatting.
(Create_Subpool): Remove formal parameter Storage_Size.
(Default_Subpool_For_Pool): Add the default implementation of this
routine.
(Set_Pool_Of_Subpool): Rename formal parameter Pool to To. Update
all the uses of the parameter.

From-SVN: r182533

12 years agoPR debug/49951 - jumpy stepping at end of scope in C++
Dodji Seketeli [Tue, 20 Dec 2011 13:36:04 +0000 (13:36 +0000)]
PR debug/49951 - jumpy stepping at end of scope in C++

gcc/cp/

PR debug/49951
* decl.c (cxx_maybe_build_cleanup): Don't set location of the call
to the destructor.

gcc/testsuite/

PR debug/49951
* g++.dg/gcov/gcov-2.C: Adjust.

From-SVN: r182532

12 years agoSupport 64-bit libjava multilib for i?86-linux
Rainer Orth [Tue, 20 Dec 2011 12:18:26 +0000 (12:18 +0000)]
Support 64-bit libjava multilib for i?86-linux

* configure.ac (i?86-*-linux*): Set SIGNAL_HANDLER_AUX.
* configure: Regenerate.
* include/i386-signal.h: Wrap in __i386__, include
java-signal-aux.h otherwise.

From-SVN: r182528

12 years agoSupport 64-bit libgnat multilib on i?86-linux
Rainer Orth [Tue, 20 Dec 2011 12:16:43 +0000 (12:16 +0000)]
Support 64-bit libgnat multilib on i?86-linux

* gcc-interface/Makefile.in (%86 linux%):
(LIBGNAT_TARGET_PAIRS_32): Split off from LIBGNAT_TARGET_PAIRS.
(LIBGNAT_TARGET_PAIRS_64): New.
(LIBGNAT_TARGET_PAIRS): Add either depending on multilib.

From-SVN: r182527

12 years agore PR c++/51612 ([c++0x] [4.6/4.7 Regression] ICE with constexpr constructor and...
Paolo Carlini [Tue, 20 Dec 2011 10:38:44 +0000 (10:38 +0000)]
re PR c++/51612 ([c++0x] [4.6/4.7 Regression] ICE with constexpr constructor and virtual base class)

/cp
2011-12-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51612
* semantics.c (is_valid_constexpr_fn): In case of constexpr
constructors also check for virtual base classes.

/testsuite
2011-12-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51612
* g++.dg/cpp0x/constexpr-ice4.C: New.

From-SVN: r182526