Richard Guenther [Thu, 28 Jan 2010 14:42:17 +0000 (14:42 +0000)]
tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate into call arguments.
2010-01-28 Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
into call arguments.
* gcc.dg/Wobjsize-1.h: New testcase.
* gcc.dg/Wobjsize-1.c: Likewise.
From-SVN: r156323
Richard Biener [Thu, 28 Jan 2010 14:40:59 +0000 (14:40 +0000)]
re PR middle-end/42883 (internal compiler error: in redirect_eh_edge_1, at tree-eh.c:2112)
2010-01-28 Richard Guenther <rguenther@suse.de>
PR middle-end/42883
* tree-cfgcleanup.c (remove_forwarder_block): Do not remove
the forwarder if the destination is an EH landing pad.
* g++.dg/torture/pr42883.C: New testcase.
From-SVN: r156322
Razya Ladelsky [Thu, 28 Jan 2010 14:24:25 +0000 (14:24 +0000)]
28-01-2010 Razya Ladelsky <razya@il.ibm.com>
* tree-parloops.c (transform_to_exit_first_loop): Update the basic
block list passed to gimple_duplicate_sese_tail.
(parallelize_loops): Avoid parallelization when the function
has_nonlocal_label.
Avoid parallelization when the preheader is IRREDUCIBLE.
Try to optimize when estimated_loop_iterations_int is unresolved.
Add the loop's location to the dump file.
* tree-cfg.c(add_phi_args_after_redirect): Remove.
(gimple_duplicate_sese_tail): Remove the check for the latch.
Redirect nexits to the exit block.
Remove handling of the incoming edges to the latch.
Redirect the backedge from the copied latch to the exit bb.
From-SVN: r156321
Michael Matz [Thu, 28 Jan 2010 14:11:34 +0000 (14:11 +0000)]
re PR target/42881 (SSE2 intrinsics miscompiled at -O0 -march=k8)
PR target/42881
* config/i386/i386.c (ix86_expand_vector_init_duplicate):
Wrap force_reg into a sequence, emit it before user.
testsuite/
* gcc.target/i386/pr42881.c: New test.
From-SVN: r156320
Pascal Obry [Thu, 28 Jan 2010 13:44:54 +0000 (13:44 +0000)]
s-win32.ads: Add some missing constants.
2010-01-28 Pascal Obry <obry@adacore.com>
* s-win32.ads: Add some missing constants.
From-SVN: r156319
Vincent Celier [Thu, 28 Jan 2010 13:40:10 +0000 (13:40 +0000)]
prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is Unknown_Package.
2010-01-28 Vincent Celier <celier@adacore.com>
* prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is
Unknown_Package.
From-SVN: r156318
Rainer Orth [Thu, 28 Jan 2010 13:22:03 +0000 (13:22 +0000)]
linkage.exp: Remove mips-sgi-irix6*o32 support.
* gcc.misc-tests/linkage.exp: Remove mips-sgi-irix6*o32 support.
Add i?86-*-solaris2* support.
From-SVN: r156317
Dodji Seketeli [Thu, 28 Jan 2010 12:29:52 +0000 (12:29 +0000)]
re PR c++/42713 (ICE - segfault in tsubst)
Fix PR c++/42713
gcc/cp/ChangeLog:
PR c++/42713
PR c++/42820
* typeck.c (get_template_parms_of_dependent_type): Factorized
this out of incompatible_template_type_parms_p
(incompatible_dependent_types_p): Renamed
incompatible_template_type_parms_p into this. Make it detect
two incompatible dependent typedefs too.
(structural_comptypes): Use incompatible_dependent_types_p.
* pt.c (get_template_info):
Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
gcc/testsuite/ChangeLog:
PR c++/42713
PR c++/42820
* g++.dg/template/typedef27.C: New test case.
* g++.dg/template/typedef28.C: New test case.
From-SVN: r156316
Kai Tietz [Thu, 28 Jan 2010 11:26:01 +0000 (12:26 +0100)]
Fix unnamed extension for ISO-C.
From-SVN: r156315
Robert Dewar [Thu, 28 Jan 2010 10:10:58 +0000 (10:10 +0000)]
gnat_rm.texi: Minor correction
2010-01-28 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor correction
From-SVN: r156314
Stephen Thomas [Thu, 28 Jan 2010 08:35:59 +0000 (08:35 +0000)]
Fix bswap patterns for trunk.
Committed by Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2010-01-28 Stephen Thomas <stephen.thomas@arm.com>
* config/arm/arm.md (bswapsi2): Add support for bswapsi2.
(arm_rev): New.
(arm_legacy_rev): Likewise.
(thumb_legacy_rev): Likewise.
2010-01-28 Stephen Thomas <stephen.thomas@arm.com>
* testsuite/gcc.dg/optimize-bswap*.c: Add ARM target
From-SVN: r156313
GCC Administrator [Thu, 28 Jan 2010 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r156310
Benjamin Kosnik [Wed, 27 Jan 2010 20:12:41 +0000 (20:12 +0000)]
re PR c++/42346 (darwin instantiation vs. optimization oddity)
2010-01-27 Benjamin Kosnik <bkoz@redhat.com>
PR c++/42346
* testsuite/23_containers/unordered_map/requirements/exception/: Remove
-O1 workaround.
* testsuite/23_containers/multimap/requirements/exception/: Same.
* testsuite/23_containers/map/requirements/exception: Same.
From-SVN: r156303
Jason Merrill [Wed, 27 Jan 2010 19:48:34 +0000 (14:48 -0500)]
* gcc/cp/tree.c: Tweak comment in no_linkage_check.
From-SVN: r156300
Jakub Jelinek [Wed, 27 Jan 2010 16:38:58 +0000 (17:38 +0100)]
dwarf2out.c (mem_loc_descriptor): Remove special casing of CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.
* dwarf2out.c (mem_loc_descriptor): Remove special casing of
CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
on MEM's address failed, try avoid_constant_pool_reference and
recurse if it returned something different.
(loc_descriptor): If for MEM mem_loc_descriptor failed on the
address, try avoid_constant_pool_reference and recurse if it
returned something different.
(dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
address and avoid_constant_pool_reference returned something
different, don't set have_address.
From-SVN: r156293
Alexandre Oliva [Wed, 27 Jan 2010 16:36:57 +0000 (16:36 +0000)]
re PR debug/42861 (Spill slots not tracked during var-tracking)
PR debug/42861
* var-tracking.c (val_store): Add modified argument, obey it.
Adjust callers.
(count_uses): Move down logging of main.
(compute_bb_dataflow): Use val_store for MO_VAL_USEs that
don't need resolution.
(emit_notes_in_bb): Likewise.
From-SVN: r156292
Richard Guenther [Wed, 27 Jan 2010 16:00:31 +0000 (16:00 +0000)]
re PR tree-optimization/42878 ("-fcompare-debug failure" at -O1 (2))
2010-01-27 Richard Guenther <rguenther@suse.de>
PR middle-end/42878
* tree-inline.c (remap_decl): Delay remapping of SSA name
default definitions until we need them.
* gcc.dg/torture/pr42878-1.c: New testcase.
* gcc.dg/torture/pr42878-2.c: Likewise.
From-SVN: r156291
Richard Guenther [Wed, 27 Jan 2010 15:49:00 +0000 (15:49 +0000)]
re PR libstdc++/42832 (Revisit std::function for aliasing issues and efficiency)
2010-01-27 Richard Guenther <rguenther@suse.de>
PR libstdc++/42832
* include/std/functional (function<>::swap): Perform bytewise
swap of _M_functor.
* include/tr1/functional (function<>::swap): Likewise.
From-SVN: r156290
Jakub Jelinek [Wed, 27 Jan 2010 15:14:09 +0000 (16:14 +0100)]
rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
* config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
(rs6000_delegitimize_address): New function.
From-SVN: r156289
Jakub Jelinek [Wed, 27 Jan 2010 15:12:55 +0000 (16:12 +0100)]
s390.c (s390_delegitimize_address): Call delegitimize_mem_from_attrs.
* config/s390/s390.c (s390_delegitimize_address): Call
delegitimize_mem_from_attrs.
From-SVN: r156288
Jakub Jelinek [Wed, 27 Jan 2010 15:09:23 +0000 (16:09 +0100)]
re PR middle-end/42874 (Error on correct code: sorry, unimplemented: function ‘foo’ can never be copied because it uses)
PR middle-end/42874
* tree-inline.c (cannot_copy_type_1): Removed.
(copy_forbidden): Don't forbid copying of functions containing
records/unions with variable length fields.
* gcc.dg/vla-22.c: New test.
From-SVN: r156287
Nick Clifton [Wed, 27 Jan 2010 14:17:48 +0000 (14:17 +0000)]
Revert r156276
From-SVN: r156286
Pascal Obry [Wed, 27 Jan 2010 14:15:42 +0000 (14:15 +0000)]
g-awk.adb: ensure that an AWK session is reusable.
2010-01-27 Pascal Obry <obry@adacore.com>
* g-awk.adb: ensure that an AWK session is reusable.
From-SVN: r156285
Arnaud Charlet [Wed, 27 Jan 2010 13:39:30 +0000 (14:39 +0100)]
[multiple changes]
2010-01-27 Vasiliy Fofanov <fofanov@adacore.com>
* g-regist.adb (For_Every_Key): Fix previous change.
2010-01-27 Thomas Quinot <quinot@adacore.com>
* lib-writ.ads: Current version of spec for new N (note) ALI lines
2010-01-27 Yannick Moy <moy@adacore.com>
* a-cdlili.adb (Insert): Correct exception message when cursor
designates wrong list.
From-SVN: r156284
Arnaud Charlet [Wed, 27 Jan 2010 13:29:52 +0000 (14:29 +0100)]
[multiple changes]
2010-01-27 Vincent Celier <celier@adacore.com>
* gnatcmd.adb: When there is only one main specified, the package
support Switches (<main>) and attribute Switches is specified for the
main, use these switches, instead of Default_Switches ("Ada").
2010-01-27 Robert Dewar <dewar@adacore.com>
* sem_prag.adb, par-prag.adb, snames.ads-tmpl: pragma Dimension initial
implementation.
* exp_disp.adb: Minor reformatting
From-SVN: r156283
Christian Bruel [Wed, 27 Jan 2010 13:24:40 +0000 (14:24 +0100)]
temporarily revert fix for PR target/42841
From-SVN: r156282
Matthias Klose [Wed, 27 Jan 2010 13:02:50 +0000 (13:02 +0000)]
configure.ac (gnu-unique-object): Fix ldd version check.
2010-01-27 Matthias Klose <doko@ubuntu.com>
* configure.ac (gnu-unique-object): Fix ldd version check.
* configure: Regenerate.
From-SVN: r156281
Arnaud Charlet [Wed, 27 Jan 2010 12:06:07 +0000 (13:06 +0100)]
[multiple changes]
2010-01-27 Tristan Gingold <gingold@adacore.com>
* seh_init.c: Use __ImageBase instead of _ImageBase.
2010-01-27 Javier Miranda <miranda@adacore.com>
* exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
profile of interface thunks. The type of the controlling formal is now
the covered interface type (instead of the target tagged type).
From-SVN: r156280
Sergey Rybin [Wed, 27 Jan 2010 11:58:53 +0000 (11:58 +0000)]
gnat_rm.texi, [...]: Update gnatcheck doc.
2010-01-27 Sergey Rybin <rybin@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Update gnatcheck doc.
From-SVN: r156279
Robert Dewar [Wed, 27 Jan 2010 11:37:20 +0000 (11:37 +0000)]
sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal changed from Expr to N.
2010-01-27 Robert Dewar <dewar@adacore.com>
* sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal
changed from Expr to N.
From-SVN: r156278
Paolo Carlini [Wed, 27 Jan 2010 11:28:57 +0000 (11:28 +0000)]
2010-01-27 Paolo Carlini <paolo.carlini@oracle.com>
* Fix ChangeLog typos.
From-SVN: r156277
Wei Guozhi [Wed, 27 Jan 2010 09:19:36 +0000 (09:19 +0000)]
re PR target/42671 (Thumb2 generate more instructions than Thumb1 to load GOT address)
PR target/42671
* config/arm/arm.c (arm_load_pic_register): Use the same code
sequence with Thumb2 as for Thumb1.
* config/arm/arm.md (pic_add_dot_plus_four): Enable this pattern
for all Thumb varieties.
From-SVN: r156276
Andreas Krebbel [Wed, 27 Jan 2010 09:15:19 +0000 (09:15 +0000)]
gnu.ver: Avoid time_get pattern conflicts.
2010-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/abi/pre/gnu.ver: Avoid time_get pattern conflicts.
From-SVN: r156275
Rainer Orth [Wed, 27 Jan 2010 08:06:04 +0000 (09:06 +0100)]
sparc.c (sparc_elf_asm_named_section): Test for HAVE_GNU_AS value.
* config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
HAVE_GNU_AS value.
* config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
Test for HAVE_GNU_AS value.
From-SVN: r156272
GCC Administrator [Wed, 27 Jan 2010 00:16:34 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r156268
Paolo Bonzini [Tue, 26 Jan 2010 21:32:28 +0000 (21:32 +0000)]
configure.ac: Test for executability of _the first word_ of GFORTRAN.
2010-01-26 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Test for executability of _the first word_ of GFORTRAN.
* configure: Regenerate.
From-SVN: r156264
Ian Lance Taylor [Tue, 26 Jan 2010 19:44:11 +0000 (19:44 +0000)]
* MAINTAINERS: Add myself as Go frontend maintainer.
From-SVN: r156260
Rainer Orth [Tue, 26 Jan 2010 19:24:32 +0000 (19:24 +0000)]
config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
gcc:
* config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
* config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
INT64_TYPE): Define.
(UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
(INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
INT_LEAST64_TYPE): Define.
(UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
UINT_LEAST64_TYPE): Define.
(INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
INT_FAST64_TYPE): Define.
(UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
UINT_FAST64_TYPE): Define.
(INTMAX_TYPE, UINTMAX_TYPE): Define.
(INTPTR_TYPE, UINTPTR_TYPE): Define.
(SIG_ATOMIC_TYPE): Define.
fixincludes:
* inclhack.def (aix_stdint_1): Add stdint-aix.h to files.
(aix_stdint_2): Likewise.
(aix_stdint_3): Likewise.
(aix_stdint_4): Likewise.
(aix_stdint_5): Likewise.
(darwin_stdint_1): Add stdint-darwin.h to files.
(darwin_stdint_2): Likewise.
(darwin_stdint_3): Likewise.
(darwin_stdint_4): Likewise.
(darwin_stdint_5): Likewise.
(darwin_stdint_6): Likewise.
(darwin_stdint_7): Likewise.
(hpux_c99_intptr): Add stdint-hpux11.h to files.
(hpux_c99_inttypes): Likewise.
(hpux_c99_inttypes2): Likewise.
(hpux_stdint_least_fast): Likewise.
(irix_stdint_c99): Renamed to irix_stdint_c99_mode.
(irix_stdint_c99_types): New fix.
(irix_stdint_c99_macros): New fix.
(newlib_stdint_1): Add stdint-newlib.h to files.
(newlib_stdint_2): Likewise.
fixincl.x: Regenerate.
tests/base/stdint-aix.h: New file.
tests/base/stdint.h [AIX_STDINT_1_CHECK, AIX_STDINT_2_CHECK,
AIX_STDINT_3_CHECK, AIX_STDINT_4_CHECK, AIX_STDINT_5_CHECK]: Moved ...
tests/base/stdint-aix.h: ... here.
[AIX_STDINT_3_CHECK]: Updated to match aix_stdint_3 fix.
[AIX_STDINT_4_CHECK]: Updated to match aix_stdint_4 fix.
[AIX_STDINT_5_CHECK]: Updated to match aix_stdint_5 fix.
tests/base/stdint-darwin.h: New file.
tests/base/stdint.h [DARWIN_STDINT_1_CHECK, DARWIN_STDINT_2_CHECK,
DARWIN_STDINT_3_CHECK, DARWIN_STDINT_4_CHECK,
DARWIN_STDINT_5_CHECK, DARWIN_STDINT_6_CHECK]: Moved ...
tests/base/stdint-darwin.h: ... here.
[DARWIN_STDINT_1_CHECK]: Updated to match darwin_stdint_1 fix.
[DARWIN_STDINT_4_CHECK]: Updated to match darwin_stdint_4 fix.
[DARWIN_STDINT_6_CHECK]: Updated to match darwin_stdint_6 fix.
tests/base/stdint-hpux11.h: New file.
tests/base/stdint.h [HPUX_C99_INTPTR_CHECK,
HPUX_C99_INTTYPES2_CHECK, HPUX_STDINT_LEAST_FAST_CHECK]: Moved ...
tests/base/stdint-hpux11.h: ... here.
[HPUX_C99_INTPTR_CHECK]: Updated to match hpux_c99_intptr fix.
[HPUX_C99_INTTYPES2_CHECK]: Updated to match hpux_c99_inttypes2 fix.
tests/base/stdint.h [IRIX_STDINT_C99_CHECK]: Renamed guard to
IRIX_STDINT_C99_MODE_CHECK.
tests/base/stdint-irix65.h: New file.
tests/base/stdint-newlib.h: New file.
tests/base/stdint.h [NEWLIB_STDINT_1_CHECK,
NEWLIB_STDINT_2_CHECK]: Moved ...
tests/base/stdint-newlib.h: ... here.
From-SVN: r156259
François Dumont [Tue, 26 Jan 2010 19:05:43 +0000 (19:05 +0000)]
allocator.xml: Minor updates and fixes.
2010-01-26 François Dumont <francois.cppdevs@free.fr>
* doc/xml/manual/allocator.xml: Minor updates and fixes.
* doc/xml/manual/containers.xml: Likewise.
* doc/xml/manual/using.xml: Likewise.
* doc/xml/manual/locale.xml: Likewise.
* doc/xml/manual/appendix_contributing.xml: Likewise.
From-SVN: r156258
Andrew Haley [Tue, 26 Jan 2010 18:59:16 +0000 (18:59 +0000)]
natClass.cc (registerClosure): Make sure closures is non NULL.
2010-01-26 Andrew Haley <aph@redhat.com>
* java/lang/natClass.cc (registerClosure): Make sure closures is
non NULL.
From-SVN: r156257
Jakub Jelinek [Tue, 26 Jan 2010 17:20:29 +0000 (18:20 +0100)]
run_all.sh: Make sure norun.lst is sorted using the current collation.
* ada/acats/run_all.sh: Make sure norun.lst is sorted using the
current collation.
From-SVN: r156255
Richard Guenther [Tue, 26 Jan 2010 16:29:00 +0000 (16:29 +0000)]
df-scan.c (df_scan_set_bb_info): Remove assert.
2010-01-26 Richard Guenther <rguenther@suse.de>
* df-scan.c (df_scan_set_bb_info): Remove assert.
(df_insn_rescan_debug_internal): Merge asserts.
(df_install_ref): Likewise.
(df_mark_reg): Use bitmap_set_range.
(df_hard_reg_used_p): Remove assert.
(df_hard_reg_used_count): Likewise.
From-SVN: r156253
Richard Guenther [Tue, 26 Jan 2010 16:27:34 +0000 (16:27 +0000)]
re PR tree-optimization/42685 ("-fcompare-debug failure" with "-O1 -funroll-loops" (2))
2010-01-26 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/42685
* web.c (web_main): Ignore DEBUG_INSNs.
* gcc.dg/pr42685.c: New testcase.
* g++.dg/other/pr42685.C: Likewise.
From-SVN: r156252
Joern Rennecke [Tue, 26 Jan 2010 15:21:56 +0000 (15:21 +0000)]
tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
* doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
(TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
Fix types of fndecl and arglist parameters.
From-SVN: r156250
Richard Guenther [Tue, 26 Jan 2010 15:09:43 +0000 (15:09 +0000)]
re PR tree-optimization/42806 ("-fcompare-debug failure (length)" at -O1 in recent builds)
2010-01-26 Richard Guenther <rguenther@suse.de>
PR middle-end/42806
* tree-eh.c (unsplit_eh): Skip debug insns.
* g++.dg/other/pr42806.C: New testcase.
From-SVN: r156249
Arnaud Charlet [Tue, 26 Jan 2010 14:02:25 +0000 (15:02 +0100)]
[multiple changes]
2010-01-26 Thomas Quinot <quinot@adacore.com>
* gnat_ugn.texi: Adjust documentation of -gnatz switches.
* usage.adb: Replace line for -gnatz with two lines for -gnatzc and
-gnatzr.
2010-01-26 Vincent Celier <celier@adacore.com>
* prj-attr.adb: Add new attribute Library_Install_Name_Option
Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
attributes Run_Path_Option and Library_Install_Name_Option.
* prj.ads (Project_Configuration): Replace component
Run_Path_Origin_Supported with component Run_Path_Origin. Add new
component Library_Install_Name_Option.
* snames.ads-tmpl: Add new standard name Library_Install_Name_Option
Replace Run_Path_Origin_Supported with Run_Path_Origin
2010-01-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Use_One_Package): Within an instance, an actual package
is not hidden by a homograph declared in another actual package.
From-SVN: r156248
Arnaud Charlet [Tue, 26 Jan 2010 13:49:56 +0000 (14:49 +0100)]
[multiple changes]
2010-01-26 Robert Dewar <dewar@adacore.com>
* par_sco.adb (Traverse_Declarations_Or_Statements): Only generate
decisions for pragmas Assert, Check, Precondition, Postcondition if
-gnata set.
* scos.ads: Update comments.
* get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs.
Also remove obsolete code for CT (exit point) SCOs.
2010-01-26 Thomas Quinot <quinot@adacore.com>
* switch-c.adb: Fix handling of -gnatz*
From-SVN: r156247
Daniel Frey [Tue, 26 Jan 2010 13:33:06 +0000 (13:33 +0000)]
functional: Use enable_if instead of __enable_if throughout, do not include ext/type_traits.h.
2010-01-26 Daniel Frey <d.frey@gmx.de>
* include/std/functional: Use enable_if instead of __enable_if
throughout, do not include ext/type_traits.h.
(is_placeholder, is_bind_expression): Use integral_constant.
From-SVN: r156246
Robert Dewar [Tue, 26 Jan 2010 13:29:46 +0000 (13:29 +0000)]
par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W qualifiers for FOR/WHILE loops
2010-01-26 Robert Dewar <dewar@adacore.com>
* par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
qualifiers for FOR/WHILE loops
* scos.ads: Use separate type letters F/W for for/while loops
From-SVN: r156245
Richard Guenther [Tue, 26 Jan 2010 12:29:09 +0000 (12:29 +0000)]
re PR tree-optimization/42250 (segfault in ipa-type-escape.c for several cpu2000 tests)
2010-01-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/42250
* ipa-type-escape.c (type_escape_execute): Do not analyze clones.
* gcc.dg/pr42250.c: New testcase.
From-SVN: r156244
Robert Dewar [Tue, 26 Jan 2010 10:55:29 +0000 (10:55 +0000)]
get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple entries per line...
2010-01-26 Robert Dewar <dewar@adacore.com>
* get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
entries per line, one for each statement in the sequence).
* par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
size from 100 to 10_000 for SC_Array to avoid any real possibility of
overflow. Output decisions in for loops.
Exclude labels from CS lines.
* scos.ads: Clarify that label is not included in the entry point
From-SVN: r156243
Robert Dewar [Tue, 26 Jan 2010 10:30:04 +0000 (10:30 +0000)]
par_sco.adb (Traverse_Declarations_Or_Statments): Implement new format of statement sequence SCO entries (one location/statement).
2010-01-26 Robert Dewar <dewar@adacore.com>
* par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
format of statement sequence SCO entries (one location/statement).
* put_scos.adb (Put_SCOs): Implement new format of CS lines
* scos.ads: Update comments.
* sem_eval.adb: Minor reformatting.
From-SVN: r156242
Robert Dewar [Tue, 26 Jan 2010 10:25:52 +0000 (10:25 +0000)]
par_sco.ads, [...] (Set_Statement_Entry): New handling of exits
2010-01-26 Robert Dewar <dewar@adacore.com>
* par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
(Extend_Statement_Sequence): New procedures
(Traverse_Declarations_Or_Statements): New handling for exits.
From-SVN: r156241
Robert Dewar [Tue, 26 Jan 2010 10:20:43 +0000 (10:20 +0000)]
par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for Case.
2010-01-26 Robert Dewar <dewar@adacore.com>
* par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
Case.
From-SVN: r156240
Robert Dewar [Tue, 26 Jan 2010 10:13:33 +0000 (10:13 +0000)]
par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
2010-01-26 Robert Dewar <dewar@adacore.com>
* par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
* scos.ads: Clarify handling of logical operators
From-SVN: r156239
Arnaud Charlet [Tue, 26 Jan 2010 10:02:11 +0000 (11:02 +0100)]
[multiple changes]
2010-01-26 Arnaud Charlet <charlet@adacore.com>
* s-tpoben.adb: Update comments.
2010-01-26 Robert Dewar <dewar@adacore.com>
* freeze.adb (Set_Small_Size): Don't set size if alignment clause
present.
2010-01-26 Robert Dewar <dewar@adacore.com>
* scos.ads: Clean up documentation, remove obsolete XOR references
From-SVN: r156238
Arnaud Charlet [Tue, 26 Jan 2010 09:56:25 +0000 (10:56 +0100)]
[multiple changes]
2010-01-26 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Complete documentation on the restrictions for
combined options in -gnatxxx switches.
Fix typo.
2010-01-26 Arnaud Charlet <charlet@adacore.com>
* s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
a controlled operation, abort is already deferred at this point, so we
need to use Defer_Abort_Nestable.
2010-01-26 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Get_Config_Switches): Check for a default language for
a project extending a project with no languages.
From-SVN: r156237
Jakub Jelinek [Tue, 26 Jan 2010 09:47:45 +0000 (10:47 +0100)]
re PR fortran/42866 (ICE for REDUCTION with ALLOCATABLE array as variable on SECTIONS)
PR fortran/42866
* omp-low.c (expand_omp_sections): Only use single_pred if
l2_bb is single_pred_p.
* testsuite/libgomp.fortran/allocatable5.f90: New test.
From-SVN: r156235
Vincent Celier [Tue, 26 Jan 2010 09:46:13 +0000 (09:46 +0000)]
switch-c.adb (Scan_Front_End_Switches): Take into account options that follow -gnatef.
2010-01-26 Vincent Celier <celier@adacore.com>
* switch-c.adb (Scan_Front_End_Switches): Take into account options
that follow -gnatef.
Allow -gnateG to be followed by other options.
From-SVN: r156234
Arnaud Charlet [Tue, 26 Jan 2010 09:42:04 +0000 (10:42 +0100)]
[multiple changes]
2010-01-26 Robert Dewar <dewar@adacore.com>
* s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb,
s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor
reformatting.
2010-01-26 Vasiliy Fofanov <fofanov@adacore.com>
* g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure
that allows to iterate over all subkeys of a key.
2010-01-26 Ed Falis <falis@adacore.com>
* sysdep.c: enable NFS for VxWorks MILS
* env.c: enable __gnat_environ for VxWorks MILS
* gcc-interface/Makefile.in: Add VxWorks MILS target pairs.
From-SVN: r156233
Paolo Bonzini [Tue, 26 Jan 2010 07:57:21 +0000 (07:57 +0000)]
configure.ac: Test for executability of GFORTRAN.
2010-01-20 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Test for executability of GFORTRAN.
* configure: Regenerate.
From-SVN: r156232
Christian Bruel [Tue, 26 Jan 2010 07:20:27 +0000 (08:20 +0100)]
fix PR target/42841
From-SVN: r156229
Ian Lance Taylor [Tue, 26 Jan 2010 04:05:32 +0000 (04:05 +0000)]
cp-demangle.c (cplus_demangle_type): Check for invalid type after "DF".
* cp-demangle.c (cplus_demangle_type): Check for invalid type
after "DF".
* testsuite/demangle-expected: Add test.
From-SVN: r156226
GCC Administrator [Tue, 26 Jan 2010 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r156224
Paolo Carlini [Mon, 25 Jan 2010 23:25:48 +0000 (23:25 +0000)]
testsuite_common_types.h (has_bitwise_operators): Avoid -Wall warnings.
2010-01-25 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/util/testsuite_common_types.h (has_bitwise_operators):
Avoid -Wall warnings.
From-SVN: r156221
Paolo Carlini [Mon, 25 Jan 2010 18:02:41 +0000 (18:02 +0000)]
6.cc: Use an int as loop variable, to avoid -Wall warnings.
2010-01-25 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/22_locale/time_get/get_monthname/char/6.cc: Use an int
as loop variable, to avoid -Wall warnings.
* testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
* testsuite/20_util/reference_wrapper/24803.cc: Remove unused vars.
* testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
From-SVN: r156219
Joern Rennecke [Mon, 25 Jan 2010 18:01:29 +0000 (18:01 +0000)]
PR libstdc++/36101, PR libstdc++/42813
PR libstdc++/36101, PR libstdc++/42813
* configure.ac (bootstrap_target_libs): Make inclusion of
target-libgomp conditional on libgomb being in target_configdirs.
* configure: Regenerate.
From-SVN: r156218
Arnaud Charlet [Mon, 25 Jan 2010 16:26:27 +0000 (17:26 +0100)]
[multiple changes]
2010-01-25 Bob Duff <duff@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
is an internally-generated positional aggregate, and the bounds are
already correctly set. We don't want to overwrite those bounds with
bounds determined by context.
2010-01-25 Robert Dewar <dewar@adacore.com>
* g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
exp_ch9.adb, g-sechas.ads: Minor reformatting.
2010-01-25 Thomas Quinot <quinot@adacore.com>
* s-commun.adb (Last_Index): Count must be converted to SEO (a signed
integer type) before subtracting 1, otherwise the computation may wrap
(because size_t is modular) and cause the conversion to fail.
2010-01-25 Ed Falis <falis@adacore.com>
* sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
2010-01-25 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New attribute Run_Path_Origin_Required
* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
attribute Run_Path_Origin_Required.
* prj.ads (Project_Configuration): New component
Run_Path_Origin_Supported.
* snames.ads-tmpl: New standard name Run_Path_Origin_Required
From-SVN: r156217
Arnaud Charlet [Mon, 25 Jan 2010 16:25:29 +0000 (16:25 +0000)]
* gnat.dg/array_bounds_test.adb: New test.
From-SVN: r156216
Arnaud Charlet [Mon, 25 Jan 2010 16:24:20 +0000 (17:24 +0100)]
[multiple changes]
2010-01-25 Bob Duff <duff@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
is an internally-generated positional aggregate, and the bounds are
already correctly set. We don't want to overwrite those bounds with
bounds determined by context.
2010-01-25 Robert Dewar <dewar@adacore.com>
* g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
exp_ch9.adb, g-sechas.ads: Minor reformatting.
2010-01-25 Thomas Quinot <quinot@adacore.com>
* s-commun.adb (Last_Index): Count must be converted to SEO (a signed
integer type) before subtracting 1, otherwise the computation may wrap
(because size_t is modular) and cause the conversion to fail.
2010-01-25 Ed Falis <falis@adacore.com>
* sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
2010-01-25 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New attribute Run_Path_Origin_Required
* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
attribute Run_Path_Origin_Required.
* prj.ads (Project_Configuration): New component
Run_Path_Origin_Supported.
* snames.ads-tmpl: New standard name Run_Path_Origin_Required
From-SVN: r156215
Tobias Burnus [Mon, 25 Jan 2010 16:21:42 +0000 (17:21 +0100)]
re PR fortran/42858 (ICE in gfc_array_dimen_size at ../../trunk/gcc/fortran/array.c:2063)
2010-01-25 Tobias Burnus <burnus@net-b.de>
PR fortran/42858
* array.c (gfc_array_dimen_size): Fix intrinsic procedure
check.
2010-01-25 Tobias Burnus <burnus@net-b.de>
PR fortran/42858
* gfortran.dg/generic_21.f90: New test.
From-SVN: r156214
Rainer Orth [Mon, 25 Jan 2010 14:54:15 +0000 (14:54 +0000)]
re PR testsuite/41522 (gcc.c-torture/compile/pr38789.c fails on Solaris/SPARC with native assembler)
PR testsuite/41522
* gcc.c-torture/compile/pr38789.c: Change to dg-do compile.
From-SVN: r156213
Arnaud Charlet [Mon, 25 Jan 2010 14:53:51 +0000 (15:53 +0100)]
[multiple changes]
2010-01-25 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
have errors, do not continue resolution of the aggregate.
* sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
the array type indicates an error.
2010-01-25 Bob Duff <duff@adacore.com>
* sinfo.ads: Minor comment fixes.
From-SVN: r156212
Bob Duff [Mon, 25 Jan 2010 14:37:39 +0000 (14:37 +0000)]
exp_ch4.adb, [...]: Minor comment fixes and code clean up.
2010-01-25 Bob Duff <duff@adacore.com>
* exp_ch4.adb, exp_aggr.adb: Minor comment fixes and code clean up.
From-SVN: r156211
Arnaud Charlet [Mon, 25 Jan 2010 14:24:18 +0000 (14:24 +0000)]
(Current_Year): Update.
From-SVN: r156210
Arnaud Charlet [Mon, 25 Jan 2010 14:21:16 +0000 (15:21 +0100)]
[multiple changes]
2010-01-25 Florian Villoing <villoing@adacore.com>
* gnat_ugn.texi: Fix typo.
2010-01-25 Thomas Quinot <quinot@adacore.com>
* scos.ads: Update specification.
2010-01-25 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Process_PPCs): If a postcondition is present and the
enclosing subprogram has no previous spec, attach postcondition
procedure to the defining entity for the body.
2010-01-25 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
initialization procedure of the ancestor part of an extension aggregate
if it is an interface type.
2010-01-25 Vincent Celier <celier@adacore.com>
* gnatlink.adb (Process_Binder_File): The directory for the shared
version of libgcc in the run path options is found in the subdirectory
indicated by __gnat_default_libgcc_subdir.
* link.c: Declare new const char * __gnat_default_libgcc_subdir for
each platform.
2010-01-25 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb: More flexible pragma Annotate.
From-SVN: r156209
David S. Miller [Mon, 25 Jan 2010 10:22:04 +0000 (10:22 +0000)]
sysv4.h (TARGET_ASM_NAMED_SECTION): Only define if not using GAS.
2010-01-24 David S. Miller <davem@davemloft.net>
* gcc/config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
define if not using GAS.
* gcc/config/sparc/sparc.c (sparc_elf_asm_named_section):
Likewise. Delete SECTION_MERGE code, which is only applicable
when using GAS.
From-SVN: r156203
Mark Mitchell [Mon, 25 Jan 2010 03:14:25 +0000 (03:14 +0000)]
re PR c++/42748 (warnings about 'mangling of 'va_list' has changed in GCC 4.4' not suppressed in sytem headers)
PR c++/42748
* config/arm/arm.c (arm_mangle_type): Do not warn about changes to
mangling of va_list in system headers.
PR c++/42748
* g++.dg/abi/arm_va_list2.C: New test.
* g++.dg/abi/arm_va_list2.h: Companion header file.
From-SVN: r156202
GCC Administrator [Mon, 25 Jan 2010 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r156201
Joseph Myers [Sun, 24 Jan 2010 18:38:52 +0000 (18:38 +0000)]
* sv.po: Update.
From-SVN: r156198
Paul Thomas [Sun, 24 Jan 2010 16:59:51 +0000 (16:59 +0000)]
re PR fortran/41044 (internal compiler error: in gfc_conv_intrinsic_function)
2010-01-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41044
PR fortran/41167
* expr.c (remove_subobject_ref): If the constructor is NULL use
the expression as the source.
(simplify_const_ref): Change the type of expression if
there are component references. Allow for substring to be at
the end of an arbitrarily long chain of references. If an
element is found that is not in an EXPR_ARRAY, assume that this
is scalar initialization of array. Call remove_subobject_ref in
this case with NULL second argument.
2010-01-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41044
* gfortran.dg/parameter_array_ref_2.f90 : New test.
PR fortran/41167
* gfortran.dg/char_array_arg_1.f90 : New test.
* gfortran.dg/pr25923.f90 : Remove XFAIL.
From-SVN: r156197
Tobias Burnus [Sun, 24 Jan 2010 08:10:47 +0000 (09:10 +0100)]
re PR fortran/39304 (ICE with MATMUL, specific/generic functions and rank checking)
2010-01-24 Tobias Burnus <burnus@net-b.de>
PR fortran/39304
* array.c (gfc_array_dimen_size): Use correct specific
function in the check.
2010-01-24 Tobias Burnus <burnus@net-b.de>
PR fortran/39304
* gfortran.dg/generic_20.f90: New test.
From-SVN: r156195
GCC Administrator [Sun, 24 Jan 2010 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r156194
Toon Moene [Sat, 23 Jan 2010 14:33:26 +0000 (14:33 +0000)]
tree-predcom.c (combine_chains): Return NULL, not false.
ChangeLog
* tree-predcom.c (combine_chains): Return NULL, not false.
From-SVN: r156191
Joern Rennecke [Sat, 23 Jan 2010 12:21:15 +0000 (12:21 +0000)]
tree-loop-distribution.c (distribute_loop): Fix declaration and initialization of variable res to agree with return type.
* tree-loop-distribution.c (distribute_loop): Fix declaration and
initialization of variable res to agree with return type.
From-SVN: r156190
Joern Rennecke [Sat, 23 Jan 2010 11:17:30 +0000 (11:17 +0000)]
PR libstdc++/36101, PR libstdc++/42813
PR libstdc++/36101, PR libstdc++/42813
* configure.ac (bootstrap_target_libs): Include target-libgomp.
* configure: Regenerate.
From-SVN: r156189
GCC Administrator [Sat, 23 Jan 2010 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r156184
Steve Ellcey [Fri, 22 Jan 2010 22:22:51 +0000 (22:22 +0000)]
Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
2010-01-22 Steve Ellcey <sje@cup.hp.com>
* Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
* tree-sra.c: Add include of expr.h.
From-SVN: r156181
Joern Rennecke [Fri, 22 Jan 2010 21:01:49 +0000 (21:01 +0000)]
* gcc-plugin.h (plugin_init): Use "C" likage for c++.
From-SVN: r156179
Daniel Frey [Fri, 22 Jan 2010 20:50:15 +0000 (20:50 +0000)]
functional (_Index_tuple, [...]): Simplify and speed-up.
2010-01-22 Daniel Frey <d.frey@gmx.de>
* include/std/functional (_Index_tuple, _Build_index_tuple):
Simplify and speed-up.
From-SVN: r156178
Jakub Jelinek [Fri, 22 Jan 2010 19:20:51 +0000 (20:20 +0100)]
tree-into-ssa.c (maybe_register_def): If stmt ends the bb, insert the debug stmt on the single non-EH edge from the stmt.
* tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
insert the debug stmt on the single non-EH edge from the stmt.
From-SVN: r156177
Richard Henderson [Fri, 22 Jan 2010 18:52:01 +0000 (10:52 -0800)]
re PR tree-optimization/42833 (sra miscompiles qemu)
PR tree-opt/42833
* tree-sra.c (sra_modify_assign): Delay re-gimplification of
the RHS until after generate_subtree_copies has insertted its
code before the current statement.
From-SVN: r156176
Joern Rennecke [Fri, 22 Jan 2010 17:00:27 +0000 (17:00 +0000)]
* doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
From-SVN: r156175
Joern Rennecke [Fri, 22 Jan 2010 13:35:38 +0000 (13:35 +0000)]
PR libstdc++/36101, PR libstdc++/42813
PR libstdc++/36101, PR libstdc++/42813
[toplevel]:
* configure.ac (target_configdirs): Substitute.
* Makefile.def: Bootstrap target module libgomp.
Add dependency of all-target-libstdc++-v3 on configure-target-libgomp.
* Makefile.tpl (TARGET_CONFIGDIRS): New makefile variable.
(BASE_TARGET_EXPORTS): Export TARGET_CONFIGDIRS.
* configure, Makefile.in: Regenerate.
libstdc++-v3:
* acinclude.m4: (enable_parallel): Test ${TARGET_CONFIGDIRS} instead of
loking for omp.h .
* configure: Regenerate.
From-SVN: r156172
Michael Matz [Fri, 22 Jan 2010 13:13:18 +0000 (13:13 +0000)]
fast-math-mgrid-resid.f: Limit to x86, add -msse2.
* gfortran.dg/vect/fast-math-mgrid-resid.f: Limit to x86, add
-msse2.
From-SVN: r156170
Eric Botcazou [Fri, 22 Jan 2010 11:55:45 +0000 (11:55 +0000)]
system-linux-armel.ads (Stack_Check_Probes): Set to True.
* system-linux-armel.ads (Stack_Check_Probes): Set to True.
* system-linux-armeb.ads (Stack_Check_Probes): Likewise.
From-SVN: r156169
Shujing Zhao [Fri, 22 Jan 2010 02:50:44 +0000 (02:50 +0000)]
exgettext: Handle the functions and the macro definitions that the arguments are broken...
2010-01-22 Shujing Zhao <pearly.zhao@oracle.com>
* exgettext: Handle the functions and the macro definitions that the
arguments are broken into more than one line.
From-SVN: r156168
GCC Administrator [Fri, 22 Jan 2010 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r156164
Paul Thomas [Thu, 21 Jan 2010 20:38:51 +0000 (20:38 +0000)]
re PR fortran/42736 (Wrong-code with allocatable or pointer components in elemental functions)
2010-01-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/42736
* trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
is required, turn any trailing array elements after a range
into ranges so that offsets can be calculated.
2010-01-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/42736
* gfortran.dg/dependency_25.f90 : New test.
From-SVN: r156161
Martin Jambor [Thu, 21 Jan 2010 16:18:06 +0000 (17:18 +0100)]
re PR tree-optimization/42585 (SRA is not good for structure copies with one replacement any more)
2010-01-21 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/42585
* tree-sra.c (struct access): New field grp_total_scalarization.
(dump_access): Dump the new field.
(should_scalarize_away_bitmap): New variable.
(cannot_scalarize_away_bitmap): Likewise.
(sra_initialize): Allocate new bitmaps.
(sra_deinitialize): Free new bitmaps.
(create_access_1): New function.
(create_access): Parts moved to create_access_1.
(type_consists_of_records_p): New function.
(completely_scalarize_record): Likewise.
(build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
(build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
(sort_and_splice_var_accesses): Hint groups with a total_scalarization
access.
(analyze_all_variable_accesses): Completely scalarize small eligible
records.
* testsuite/gcc.dg/tree-ssa/pr42585.c: New test.
From-SVN: r156156